我有一个模型:
class Foo(models.Model):
pass我想给它添加一个type属性。有固定数量的类型。现有的类型都应该是默认类型。所以我添加了一个类型:
class Type(models.Model):
name = models.CharField(max_length=100)以及初始数据fixture的类型:
- 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,然后再迁移它,但这似乎只在本地站点上有效(因为当我迁移到不同的站点时,它会立即执行所有操作)。
发布于 2011-12-03 06:24:33
您需要专门为fixture中的初始数据编写额外的数据迁移。看看南方关于http://south.aeracode.org/docs/fixtures.html#initial-data希望主题的文档,它能帮助你解决问题。
https://stackoverflow.com/questions/8362283
复制相似问题