Django的syncdb在auth_permission表中插入重复的条目

时间:2011-12-28 19:07:40

标签: django django-syncdb django-fixtures

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

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

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

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

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

由于

1 个答案:

答案 0 :(得分:4)

您的初始数据夹具很可能包含来自auth_permission的条目。 Django最初在syncdb期间创建这些,然后运行fixture。然后你的灯具再次创建它们。

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