社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

zVictor

zVictor 最近创建的主题
zVictor 最近回复了
15 年前
回复了 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")

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