我需要在我的项目中拥有2个用户角色:客户和雇主
第一个问题:在Django管理面板中有一个名为“groups”的选项。它和用户角色一样吗?
问题2 :
假设我需要向角色为company_name
的用户添加customer
等自定义字段
我读过这样的问题Extending the User model with custom fields in Django
我得到了我应该使用一个名为OneToOneField(User)
的属性
但我仍然感到困惑。
那么如何在模型中添加此custon字段company_name
?
答案 0 :(得分:0)
回答Q1: 组用于控制具有不同权限的Admin界面访问权限。如果您尝试创建组,您将看到您也可以为该特定组选择权限。所以我会说这不是你想要的。但是,如果您创建没有权限的组,您也可以将其用于您的目的。
回答Q2: 有关更多详细信息和示例,请参阅documentation。 这只是一个基本的例子。对于您的情况,您需要创建与您的auth用户模型具有一对一关系的新模型,并根据需要扩展更多字段,例如:
USER_TYPE = {0: 'Client', 1: 'Employer'}
class MySpecialUser(models.Model):
user = models.OneToOneField(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
type = models.IntegerField(choices=USER_TYPE.items())
# used only for Client type
customer_name - models.CharField(..., null=True)