2

由于我对 Django 的信心不足,而且我对严重破坏我美丽的项目的想法感到非常恐惧,我将在这里寻求适当的建议/说明。

我的 Django 项目所在的数据库已更改(更改了一些字段类型),我的模型现在不同步了。有趣的是,我的 Django 仍然可以工作(天知道怎么做),但我仍然想更新模型。我该如何以正确的方式做到这一点。非常感谢您。


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

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

简单的!:)

4

2 回答 2

11

可能有点晚了,但您可能想看看South,它是 Django 的迁移系统。

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

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

于 2009-10-14T10:11:59.107 回答
1

如果您已经对实时数据库进行了更改,您可能只需更改模型并重新启动您的网络服务器。

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

话虽如此,使用像南这样的迁移工具是一个更好的主意(正如多米尼克已经建议的那样

于 2009-10-14T14:11:07.010 回答