11

我有两个模型:

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

如何修复此错误?

4

1 回答 1

12
city = models.OneToOneField(City)

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

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

null, blank因为这sycndb将创建一个配置文件,如果没有city通过,它将失败。

或者,您可以传递default=default_city_idcity ForeignKey

于 2013-05-17T07:31:51.057 回答