私信  •  关注

zVictor

zVictor 最近创建的主题
zVictor 最近回复了
14 年前
回复了 zVictor 创建的主题 » 如何使电子邮件字段在Django的contrib.auth模型用户中唯一

为确保用户(无论在何处)使用唯一的电子邮件进行保存,请将此添加到您的模型中:

@receiver(pre_save, sender=User)
def User_pre_save(sender, **kwargs):
    email = kwargs['instance'].email
    username = kwargs['instance'].username

    if not email: raise ValidationError("email required")
    if sender.objects.filter(email=email).exclude(username=username).count(): raise ValidationError("email needs to be unique")

请注意,这也确保了非空白电子邮件。然而,这并没有像适当的那样进行表单验证,只是引发了一个异常。