django - Django 1.5覆盖了必填且唯一的abstractuser电子邮件字段

标签 django django-forms

我有一个扩展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/

相关文章:

python - 在 django 模型中保存列表

python - Django 信号不适用于多容器设置中的 channel

python - Django 在 CreateView 中禁用/排除字段,但在 UpdateView 中启用/包含它

django - 使用 unique=True 字段验证 ModelForm

python - 管理员内联 ManyToMany autocomplete_fields

python - Haystack - 'SearchQuerySet' 对象没有属性 'model'

Django-Haystack 使用带有 IAM 凭证的 Amazon Elasticsearch 托管

django - 如何将 curl 与 Django、csrf token 和 POST 请求一起使用

Django - 更改 'upload file' 按钮在模板中显示的内容

django - 多对多字段作为表单下拉菜单