我有一个扩展AbstractUser的自定义用户模型。我添加了两个自定义字段。但是我希望默认的电子邮件字段是uniqe,并且是必填字段。我在网上进行了大量搜索,但找不到很好的建议。
这是使用覆盖的“clean_email”方法在扩展的usercreationform中执行此操作的正确方法吗?
谢谢
最佳答案
我面临着同样的问题,我扩展了AbstractUser,因为我只需要添加信息。这是唯一对我有用的东西:
AbstractUser._meta.get_field('email')._unique = True
那解决了唯一的问题,但是我仍然不是必需的,当您扩展AbstractUser时,它的电子邮件字段不是,如果您从管理员添加扩展用户,并且由于表单不采用这种方式,则会引起注意。
我试过了
AbstractUser._meta.get_field('email')._blank = False
AbstractUser._meta.get_field('email')._null = False
但这似乎不起作用。
编辑:
由于某些原因,'_'可以使用唯一的作品,但空白和null则不能,我只是尝试了
AbstractUser._meta.get_field('email').blank = False
AbstractUser._meta.get_field('email').null = False
而且有效!
关于django - Django 1.5覆盖了必填且唯一的abstractuser电子邮件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14904947/