Django 唯一、空和空白 CharField 在管理页面上给出“已经存在"错误 [英] Django unique, null and blank CharField giving 'already exists' error on Admin page

查看:20
本文介绍了Django 唯一、空和空白 CharField 在管理页面上给出“已经存在"错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了有史以来最奇怪的错误.我有一个 Person 模型

I've been getting the most weird error ever. I have a Person model

class Person(models.Model):
    user = models.OneToOneField(User, primary_key=True)
    facebook_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
    twitter_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
    suggested_person = models.BooleanField(default=False)

我最近添加了 twitter_id 字段.当我访问 Django 管理页面并尝试将人"更改为建议的人时,我收到以下错误:

I recently added the twitter_id field. When I access the Django admin page, and try to change the 'person' into a suggested_person, I get the following error:

 Person with this Twitter id already exists.

我觉得这个错误非常奇怪,因为 Facebook_id 字段的设计方式与 Twitter_id 字段完全相同.

I find this error to be extremely strange because the Facebook_id field is designed the exact same way as the Twitter_id field.

这可能是什么原因?

推荐答案

既然你有 null=True, blank=Trueunique=True,django 正在考虑 None 或空白作为唯一条目.移除唯一性约束并处理代码中的唯一性部分.

Since you have null=True, blank=True and unique=True, django is considering None or blank as a unique entry. Remove the unique constraint and handle the uniqueness part in the code.

这篇关于Django 唯一、空和空白 CharField 在管理页面上给出“已经存在"错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆