我需要在我的用户模型中添加一些其他字段,而且我不知道哪条字段最适合。
我的第一个想法是使用我的字段创建一个新模型,如here所述,但我希望它是沿用户模型创建的,并且需要单独处理,这可能是潜在的因为我的项目将基于django-rest-framework
而非常痛苦另一个想法是创建一个扩展AbstractUser的新模型,完成here,并将其设置为AUTH_USER_MODEL,因此我一次只能管理一个对象
有什么建议吗?对于这样的情况,有没有最好的做法?
答案 0 :(得分:2)
此处讨论扩展用户模型。 https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#auth-custom-user
从我通常看到的,用户配置文件表创建了附加字段,而不是应该使用信号来监听正在创建的任何新用户对象,以创建具有与auth的外键关系的用户配置文件对象用户。这样你就不会用django重写任何开箱即用的东西,只是将用户配置文件字段扩展到另一个表中。
答案 1 :(得分:1)
最好在您自己的“个人资料”中使用OneToOne与用户模型的关系。模型。
如果在某些时候需要不同类型的用户,或者项目必须重复使用(由您自己或其他人),这可以节省麻烦。
Django的doc建议不要编写自己的用户模型。