如何不为超级用户要求扩展的用户模型字段

时间:2016-10-28 08:47:05

标签: django django-models

我已经通过AbstractUser在django中扩展了内置的用户模型。但是,当它部署并创建超级用户时,由于在扩展模型中的某些其他字段中具有空条目,因此失败。有没有办法让超级用户不需要这些字段,但普通用户需要这些字段。 (我认为这是一个典型的用例 - 因为我不需要管理员来填写地址,帐号等...)

models.py

class User(AbstractUser):  
    title = models.CharField(max_length=255, null=True)
    date_of_birth = models.DateField()
    phone_number = models.IntegerField(null=True)

    account_name = models.CharField(max_length=255)
    account_number = models.IntegerField()


    house_name_number = models.CharField(max_length=255, verbose_name="house name or number")
    street_name = models.CharField(max_length=255)
    town_city = models.CharField(max_length=255)
    county = models.CharField(max_length=255)
    postcode = models.CharField(max_length=8)

1 个答案:

答案 0 :(得分:1)

您必须使用self.vendasFrame将其设置为可选,而不是在模型中使用必填字段,并在forms中进行验证。 null=True, blank=True validate For users other than admin create a form that checks for extra fields and。在注册/注册时通过模板呈现此表单。此外,它不是使用模型形式those fields,而是为您提供更好的自定义级别。这将为Admin以外的所有用户强制使用额外字段。