2

我在 django 中创建了我的模型并运行manage.py syncdb

一切都很好,直到我在现有应用程序中添加了一个新模型。当我syncdb再次运行时,重复的条目被插入到auth_parmission表中。即使是来自“管理员”应用程序的条目日志。

我做了一个测试以删除新模型,删除数据库,创建一个空的并运行syncdb. 这从现有夹具加载了我的初始数据。

当我再次运行“syncdb”(不添加任何新模型)时,同样的事情发生了:重复的条目被插入到auth_permission表中。

对正在发生的事情以及如何避免那些重复的条目有任何解释吗?

谢谢

4

1 回答 1

4

您的初始数据夹具很可能包括来自auth_permission. Django 最初在 syncdb 期间创建这些,然后运行固定装置。然后您的夹具再次创建它们。

如果您正在运行 Django 1.3+,您可以使用--exclude auth管理dumpdata命令来创建您的设备。否则,您需要手动列出所有应包含的应用程序/模型(因此auth默认情况下不会出现),或者事后手动编辑夹具并删除auth条目。

于 2011-12-28T22:19:24.603 回答