我有一個層次結構,可以有一個公司和一個用戶,一個公司可以嵌套在另一個公司中,而用戶可以是獨立的或屬於公司。 是否有關於如何將django用戶模型與django-mptt包結合使用的文檔?使用Django-mppt擴展django用戶模型
1
A
回答
1
Django documentation: Customizing authentication in Django建議下列選項:
- 寫模型與用戶模型中的一對一的關係(Extending the User model):
有延長兩種方式默認用戶模型,而不用替換你自己的模型。如果您需要的更改是純粹的行爲,並且不需要對存儲在數據庫中的內容進行任何更改,則可以基於用戶創建代理模型。這允許代理模型提供的任何功能,包括默認排序,自定義管理器或自定義模型方法。
如果您希望存儲與用戶相關的信息,則可以使用包含字段的模型的一對一關係以獲取其他信息。這種一對一模式通常稱爲配置文件模型,因爲它可能存儲有關站點用戶的非auth相關信息。
有些類型的項目有認證要求其Django的內置的用戶模型並不總是合適的。例如,在一些網站上,使用電子郵件地址作爲您的身份標記而不是用戶名更有意義。
以上兩者都可能繼承MPTTModel
並解決您的問題。我個人建議第一種方法比較簡單,對我來說這聽起來足以描述你所描述的內容,但這又取決於你的特定未來要求。
1
我認爲你所描述的實際上是兩個不同的問題。 您的公司模型需要分層,但這並不意味着用戶模型也需要一致。 你可能會有:
class Company(<mpttmodel>):
pass
class YourUser(User):
company = models.ForeignKey(null=True)
否則,如果YourUser爲繼承FRM MPTT模式,你將有你的用戶模型分層,而不是公司的模式。
相關問題
- 1. 擴展用戶模型Django
- 2. 擴展Django用戶模型
- 3. Django擴展模型。用戶
- 4. 擴展django用戶模型
- 5. 在Django中擴展social_auth用戶模型
- 6. 擴展Django用戶模型:ForeignKey錯誤
- 7. Django:擴展用戶模型的問題
- 8. Django的擴展用戶模型
- 9. 擴展Django 1.11用戶模型
- 10. Django 1.8+擴展用戶模型
- 11. 在Django中擴展用戶模型
- 12. 問題擴展django用戶模型
- 13. 如何擴展django用戶模型?
- 14. 擴展用戶模型Django,IntegrityError
- 15. 擴展Django的用戶模型
- 16. 在Django中擴展用戶模型
- 17. Django登錄與模型擴展用戶
- 18. 使用django-allauth擴展Django用戶模型
- 19. Django的擴展用戶模型中沒有擴展屬性
- 20. 擴展Django用戶模型(使其在request.user中工作),Django 1.2.3
- 21. Django擴展用戶模型,想要擴展模型的額外內聯編輯
- 22. 擴展Redmine用戶模型
- 23. Django擴展用戶模型策略可以使用(初學者;))
- 24. Django:擴展用戶模型 - UserProfile中的內聯用戶字段
- 25. 擴展django用戶
- 26. 使用擴展Django的代理模型自定義request.user用戶模型
- 27. Django rest框架:擴展客戶的用戶模型 - 一對一
- 28. 在Django中引用擴展manytomany用戶模型...?
- 29. Python,Django。用字典屬性擴展用戶模型
- 30. Django __unicode__擴展Auth_User模型