首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-south:带有初始数据的chicken+egg

django-south:带有初始数据的chicken+egg
EN

Stack Overflow用户
提问于 2011-12-03 04:33:14
回答 1查看 802关注 0票数 2

我有一个模型:

代码语言:javascript
复制
class Foo(models.Model):
    pass

我想给它添加一个type属性。有固定数量的类型。现有的类型都应该是默认类型。所以我添加了一个类型:

代码语言:javascript
复制
class Type(models.Model):
    name = models.CharField(max_length=100)

以及初始数据fixture的类型:

代码语言:javascript
复制
- model: app.Type
  pk: 1
  fields:
    name: "default"
- model: app.Type
  pk: 2
  fields:
    name: "special"

并修改Foo

代码语言:javascript
复制
class Foo(models.Model):
    type = models.ForeignKey(Type, default=1)

schemamigration工作正常。但是,migrate会失败,因为app.Type还不在数据库中,因此默认值1不存在。

我如何以一种干净、优雅的方式解决这个问题?我可以先放入Type,迁移它,然后修改Foo,然后再迁移它,但这似乎只在本地站点上有效(因为当我迁移到不同的站点时,它会立即执行所有操作)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-03 06:24:33

您需要专门为fixture中的初始数据编写额外的数据迁移。看看南方关于http://south.aeracode.org/docs/fixtures.html#initial-data希望主题的文档,它能帮助你解决问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8362283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档