小编典典

IntegrityError:“ city_id”列中的空值违反了非空约束

python

我两个模型:

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

如何解决此错误?


阅读 194

收藏
2021-01-20

共1个答案

小编典典

city = models.OneToOneField(City)

您确定每个城市只需要一位用户吗?我觉得你需要

city = models.ForeignKey(City, null=True, blank=True)

null, blank因为sycndb会创建一个配置文件,如果不city通过则会失败。

或者,您可以default=default_city_id转到city ForeignKey

2021-01-20