我有一个模特:
class Foo(models.Model):
pass
我想为它添加一个type属性。有固定数量的类型。现有的应该都具有默认类型。所以我添加了类型:
class Type(models.Model):
name = models.CharField(max_length=100)
初始数据夹具的类型:
- model: app.Type
pk: 1
fields:
name: "default"
- model: app.Type
pk: 2
fields:
name: "special"
修改Foo
:
class Foo(models.Model):
type = models.ForeignKey(Type, default=1)
schemamigration
工作正常。但是,migrate
失败,因为app.Type
尚未在数据库中,因此缺省值1不存在。
如何以干净,优雅的方式解决这个问题?我可以先放入Type
,迁移它,然后修改Foo
,然后迁移它,但似乎只能在本地网站上运行(因为当我在不同的网站上迁移时无论如何,我会立刻做所有事情。
答案 0 :(得分:3)
您需要专门为夹具中的初始数据编写额外的数据移植。查看南方有关该主题的文档http://south.aeracode.org/docs/fixtures.html#initial-data希望能帮到你。