扩展Djang现有的用户模型

2024-03-29 11:56:24 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个应用程序,有3种类型的用户

  • 具有work_numberdepartment等字段的雇员
  • 具有phone_number等字段的成员。。。。。你知道吗
  • 具有company_name等字段的代理,。。。。。你知道吗

他们不一样。你知道吗

我写的模型是这样的:

class Employee(models.Model):
    user = models.OneToOneField(User)
    department = models.CharField(max_length=100)
    .......

class Member(models.Model):
    user = models.OneToOneField(User)
    .......

class Agent(models.Model):
    user = models.OneToOneField(User)
    .......

现在我可以:

u = User.objects.get(username='xxxx')
u.employee // it works...

但是,一个用户有三个配置文件(员工、成员、代理)!!!你知道吗

它不符合我的业务,业务角色是一个用户可以是,必须只有一种类型的3个配置文件。你知道吗

解决这个问题的最好办法是什么?你知道吗


Tags: 用户应用程序类型number代理modelmodels配置文件
1条回答
网友
1楼 · 发布于 2024-03-29 11:56:24

为什么没有一个单独的配置文件和一个关联的角色(即使特定角色的某些字段永远不会被填充)?你知道吗

您可以通过表单处理验证,而不是使用3个不同的模型,您可以使用3个不同的表单。你知道吗

相关问题 更多 >