修改django模型

修改django模型,django,django-models,django-database,Django,Django Models,Django Database,我只是自己测试了一下。我有Django模型,数据库中已经有了这些模型的实例 然后我向模型中添加了一个伪整数字段,并运行manage.py syncdb。检查了数据库,但表没有发生任何问题。我没有看到添加额外字段 这是预期的行为吗?修改模型的正确方法是什么?这将如何改变数据库中已有的数据 Django不会改变已经存在的表,他们甚至在文档中这样说。原因是django不能保证不会丢失任何信息 如果要更改现有表,有两个选项。或者删除它们并再次运行syncdb,但如果您想保留数据,则需要以某种方式存储数据

我只是自己测试了一下。我有Django模型,数据库中已经有了这些模型的实例

然后我向模型中添加了一个伪整数字段,并运行
manage.py syncdb
。检查了数据库,但表没有发生任何问题。我没有看到添加额外字段


这是预期的行为吗?修改模型的正确方法是什么?这将如何改变数据库中已有的数据

Django不会改变已经存在的表,他们甚至在文档中这样说。原因是django不能保证不会丢失任何信息

如果要更改现有表,有两个选项。或者删除它们并再次运行syncdb,但如果您想保留数据,则需要以某种方式存储数据。其他选项是使用迁移工具为您执行此操作。Django可以向您显示新数据库模式的SQL,您可以将其与数据库的当前版本区分开来,以创建更新脚本


您甚至可以手动更新您的数据库,如果这只是一个小小的更改,并且您不想为迁移工具而烦恼,尽管我建议您使用迁移工具。

请使用south,以便将任何类型的更改反映到您的数据库表中, 下面是使用south的链接

如果您希望在数据库中反映对模型的更改,则必须使用迁移工具,如
South
。否则,请删除数据库中的表并重新运行
syncdb