我有两个模特:
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)
当我syncdb并创建管理员用户时:
IntegrityError: null value in column "city_id" violates not-null constraint
我如何修复此错误?
答案 0 :(得分:11)
city = models.OneToOneField(City)
您确定每个城市只需要一位用户吗?我认为你需要
city = models.ForeignKey(City, null=True, blank=True)
null, blank
因为sycndb
会创建个人资料,如果没有传递city
则会失败。
或者,您可以将default=default_city_id
传递给city
ForeignKey