django-south:鸡肉+鸡蛋,含有初始数据

时间:2011-12-02 20:33:14

标签: python django django-south

我有一个模特:

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,然后迁移它,但似乎只能在本地网站上运行(因为当我在不同的网站上迁移时无论如何,我会立刻做所有事情。

1 个答案:

答案 0 :(得分:3)

您需要专门为夹具中的初始数据编写额外的数据移植。查看南方有关该主题的文档http://south.aeracode.org/docs/fixtures.html#initial-data希望能帮到你。