2

在 Django 中运行 syncdb 时,将重新计算内容类型的主键。如果我创建新模型,下次运行 syncdb 时,内容类型的主键会有所不同。

如果我有一个在生产中运行的应用程序,我如何使用新模型更新数据库并保持内容类型 pks 的完整性?

4

2 回答 2

2

运行syncdb不会更新现有的 ContentType 值 - 这些值存储在数据库中并且不会更改。所以依赖他们的关系不会受到影响。

但是,当您运行 syncdb 时,新定义的模型将获得新的 ContentType 值,目前无法提前定义这些值是什么。正如 Ludwik 指出的,这个问题在 1.2 中得到了解决。

于 2010-04-13T19:38:41.093 回答
1

这个问题在 Django 1.2(应该在两周内发布)中用natural keys解决了。

于 2010-04-13T19:30:59.823 回答