Django South使用--auto --update编辑模型中的字段名称

时间:2013-05-08 21:56:38

标签: python django django-models django-south

South Docs中,更改字段名称时,您希望使用./manage.py schemamigration southtut --auto --update。当我使用它时,我得到以下./manage.py: error: no such option: --update。当检查可能的选项时,我可以使用更新不在那里。

给出的选项:

--add-field= --add-model= --empty --help --pythonpath= --stdout --verbosity= --add-index= --auto --freeze= --initial --settings= --traceback

1 个答案:

答案 0 :(得分:2)

很简单,没有--update就行。当您发出schemamigration southtut --auto时,它应该会自动确认更改并注意到某个字段已更改了名称并执行了必要的操作。

它对我有用。

除了--update所做的更新上次迁移而不是创建新迁移,所以可能不是你想要的。你想要的是改变架构。

如果要重命名模型中的字段,可能需要创建一个类似于创建迁移以添加新字段的新字段,然后创建数据迁移以添加旧字段中的数据(一个你想要更改名称)到新字段(具有新名称的字段),然后创建第三个迁移以删除旧列。

您可以在south doc

中搜索如何进行数据迁移

你可以尝试这个good answer中的内容。它可能更简单。

希望它有所帮助。