更新模型

时间:2009-10-14 10:06:00

标签: django models

由于我对Django的信心不足以及在想到严重搞乱我的漂亮项目时的纯粹恐惧,我会在这里寻求适当的建议/指示。

我的Django项目所在的数据库已经更改(一些字段类型已经更改),我的模型现在已经不同步了。有趣的是,我的Django仍在工作(上帝知道如何),但我仍然想要更新模型。我如何以正确方式执行此操作。非常感谢您提前。


标记为已回答。我的实际发现是:

./manage.py inspectdb > <file>
//Hands you all the tables from the database. 
//Then you update the models accordingly.

SIMPLE! :)

2 个答案:

答案 0 :(得分:11)

可能有点晚了,但您可能需要查看South,这是Django的迁移系统。

您的情况的正常做法是运行manage.py reset appname,其中appname是包含您已更改的模型的应用程序的名称。您显然希望首先将数据转储到受影响的表中(通过运行manage.py sqlreset appname找出哪些表会受到影响。)

最后,由于您没有重新启动网络服务器(我假设您正在谈论生产环境,开发服务器会自动重新加载大多数更改),您的网站很可能仍然可以愉快地运行。

答案 1 :(得分:1)

如果您已对实时数据库进行了更改,则可以更改模型并重新启动Web服务器。

只要您的字段名称在数据库和模型之间匹配,就不应该有任何问题。

话虽如此,使用像南方这样的迁移工具是一个 很多 更好的主意(正如Dominic所建议的那样)