例如,我们有这段代码:
class Foo(models.Model):
a = models.CharField(max_length=10)
class Bar(models.Model):
b = models.CharField(max_length=10)
a = models.ForeignKey(Foo)
当我运行makemigrations时,我发现我需要设置默认值(Bar) 任何人都可以解释我,我为什么要这样做?
谢谢!
答案 0 :(得分:4)
您的数据库中似乎已经有了一些数据(或者您在添加ForeignKey
字段之前已经进行了迁移)。为了使迁移工作,您需要“告诉”Django对于已存在的行,a
表的Bar
列中应该有哪些数据。
删除整个数据库/早期迁移,或提供您选择的默认值:
a = models.ForeignKey(Foo, default=None) # or any other default value