如何在django中使用south替换CharField到ForeignKey?

时间:2012-05-05 14:37:22

标签: python django django-south

我的任务模型:

class Tasks(models.Model):
    state = models.CharField(max_length = 150)

我想将州字段更改为ForeignKey,如state = models.ForeignKey(States)

国家模型将是:

class States(model.Model):
    name = models.CharField(max_length = 150)

BTW我正在使用 Django non-rel django mongodb。

使用南方是否容易?还是以任何其他方式进行操作?

1 个答案:

答案 0 :(得分:1)

我将分六个步骤(迁移)进行:

  • 第一步是data_migration(南方命令):我创建了States对象。
  • 第二步一个schema_migration(南方命令):我在任务中添加一个fk,名称为state_bk
  • 第三步a data_migration:迁移所有任务并将状态分配给任务
  • Quarter schema_migration:删除状态字段并创建状态fk
  • 第五个data_migration:将值从state_bk迁移到状态
  • 第六个schema_migration:删除state_bk字段

这很容易,但有点乏味