我希望新用户'is_active的默认值为False。在创作之前有没有办法?目前我正在使用form_valid在我的注册视图中的form.instance上设置它,但似乎会有管理员设置或其他东西。
答案 0 :(得分:1)
在阅读了一下源代码之后,似乎is_active是AbstractBaseUser的一部分,甚至不作为字段,这里是直接的代码摘录:
class AbstractBaseUser(models.Model):
# ...
is_active = True
仅在稍后,is_active通过另一个名为AbstractUser的模型转换为字段:
class AbstractUser(AbstractBaseUser, PermissionsMixin):
# ...
is_active = models.BooleanField(_('active'), default=True,
help_text=_('Designates whether this user should be treated as '
'active. Unselect this instead of deleting accounts.'))
User类本身几乎没有定义,真的......整个设置令人费解,所以我觉得没有简单的方法可以做到(除非你想改变源代码,根本不推荐) 。使用form_valid声音就像这里最好的方法。