所以我有一个给定的模型:
class FooBar(models.Model):
foo = models.ForeignKey(Foo,null=True,blank=True)
bar = models.ForeignKey(Bar,null=True,blank=True)
foo_flag = models.BooleanField(default=False)
bar_flag = models.BooleanField(default=False)
其中的逻辑是始终存在Foo
或{Foo
外键,有时还有一个Bar
。所以我的新模型看起来是这样的:
现在是复杂的部分。Bar
模型如下所示:
class Bar(models.Model):
foo = models.ForeignKey(Foo)
因此,对于数据库中以前存在的每个项,其中foo
字段是null
,因此有一个Bar
的外键,我需要foo
字段来获取同一个{
FooBar.foo_flag
Foo
对象填充所有空的foo
外键
Bar
外键foo
字段中不再允许null我该怎么写这个迁移呢?
针对这种情况的最佳做法是进行3次独立迁移:
迁移之后,我建议检查fakeFoo对象链接的表,并在出现问题时手动修复数据。在
相关问题 更多 >
编程相关推荐