Python IntegrityError:列“中的空值”;城市id“;违反非空约束
一、两种模式:Python IntegrityError:列“中的空值”;城市id“;违反非空约束,python,django,models,Python,Django,Models,一、两种模式: class City(models.Model): name = models.CharField(max_length=50) country = models.OneToOneField(Country) def __unicode__(self): return self.name class UserProfile(models.Model): user = models.OneToOneField(User)
class City(models.Model):
name = models.CharField(max_length=50)
country = models.OneToOneField(Country)
def __unicode__(self):
return self.name
class UserProfile(models.Model):
user = models.OneToOneField(User)
city = models.OneToOneField(City)
当我同步数据库并创建管理员用户时:
IntegrityError: null value in column "city_id" violates not-null constraint
如何修复此错误
city = models.OneToOneField(City)
您确定每个城市只需要一个用户吗?我想你需要
city = models.ForeignKey(City, null=True, blank=True)
null,为空
,因为sycndb
将创建一个配置文件,如果未传递city
,则该配置文件将失败
或者,您可以将default=default\u city\u id
传递给city
ForeignKey