我有一些像这样的代码:
class Item(models.Model):
something = models.ForeignKey('SomethingElse')
property1 = models.TextField()
city = models.TextField()
street = models.TextField()
country = models.TextField()
我想像这样塑造它:
class Address(models.Model):
city = models.TextField()
street = models.TextField()
country = models.TextField()
class Item(models.Model):
something = models.ForeignKey('SomethingElse')
property1 = models.TextField()
address = models.ForeignKey('Address')
尝试迁移项目时,Django要求我创建一个默认值。我怎么指定一个?或者,我如何创建一个迁移,根据我们在数据库中已有的内容创建地址,然后将这些地址与项目绑定?
答案 0 :(得分:1)
迁移仅处理表格结构,他们无法为您移动数据:
Django无法为您自动生成数据迁移,就像使用模式迁移一样,但编写它们并不是很难。
您应该在进行此更改之前添加Address
模型,手动迁移数据,然后然后从Item
模型中删除冗余字段。您可以使用data migrations在迁移中包含这些更改。