如何使用south创建新的迁移文件而无需更改架构?

时间:2014-09-04 09:27:13

标签: python database django migration django-south

所以我需要做的是改变整个数据库中字段的值。我不需要实际更改与架构相关的任何内容。像这样的东西。

def forwards(self, orm):
    the_things = Thing.objects.filter(widget="some value"):
    for thing in the_things:
      thing.widget = "some new value"
      thing.save()

def backwords(self, orm):
    the_things = Thing.objects.filter(widget="some new value"):
    for thing in the_things:
      thing.widget = "some value"
      thing.save()

我是使用南方的新手,所以我不确定这样做的最好方法。手动制作迁移文件是不好的做法吗?这似乎是因为运行./manage.py schemamigration app --auto似乎遵循它生成的文件名中的命名约定。

1 个答案:

答案 0 :(得分:3)

您需要data migration

./manage.py datamigration <your project> <descriptive_name>

将为您创建一个空白的迁移,然后您需要进行编辑。然后正常迁移。