我在django中创建了我的模型并运行manage.py syncdb
一切都很好,直到我在现有应用中添加了新模型。当我再次运行syncdb
时,重复的条目被插入auth_parmission
表中。即使是来自“admin”应用程序的输入日志。
我做了一个测试,删除新模型,删除数据库,创建一个空模型并运行syncdb
。这会从现有灯具中加载我的初始数据。
当我再次运行“syncdb”时(不添加任何新模型),同样的事情发生了:重复的条目被插入auth_permission
表中。
对正在发生的事情的解释以及如何避免这些重复的条目?
由于
答案 0 :(得分:4)
您的初始数据夹具很可能包含来自auth_permission
的条目。 Django最初在syncdb期间创建这些,然后运行fixture。然后你的灯具再次创建它们。
如果你正在运行Django 1.3+,你可以使用--exclude auth
和dumpdata
管理命令来创建你的灯具。否则,您需要手动列出应包含的所有应用程序/模型(以便默认情况下不会auth
)或之后手动编辑夹具并删除auth
条目。