Django 的syncdb 正在auth_permission 表中插入重复的条目
我已经在 django 中创建了模型并运行 manage.pysyncdb
一切正常,直到我在现有应用程序中添加了新模型。当我再次运行 syncdb
时,重复的条目被插入到 auth_parmission
表中。即使是来自“管理”应用程序的条目日志。
我进行了一项测试,删除新模型,删除数据库,创建一个空模型并运行 syncdb
。这从现有的夹具加载了我的初始数据。
当我再次运行“syncdb”(没有添加任何新模型)时,发生了同样的事情:重复的条目被插入到 auth_permission
表中。
对正在发生的事情以及如何避免这些重复条目有任何解释吗?
谢谢
I have created my models in django and run manage.py syncdb
Everything was ok, until I added a new model in an existing app. When I run syncdb
again, duplicated entries were inserted in auth_parmission
table. Even for entry log from "admin" app.
I made a test to remove the new model, drop the database, create an empty one and run syncdb
. This loaded my initial data from an existing fixture.
When I run "syncdb" again (without adding any new model), the same thing happened: duplicated entries were inserted in auth_permission
table.
Any explanation of what's happening and how to avoid those duplicated entries?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的初始数据装置很可能包含来自
auth_permission
的条目。 Django 最初在syncdb 期间创建这些,然后运行这些装置。然后你的装置再次创建它们。如果您运行的是 Django 1.3+,则可以将
--exclude auth
与dumpdata
管理命令一起使用来创建固定装置。否则,您需要手动列出应包含的所有应用程序/模型(以便默认情况下不会进行 auth),或者随后手动编辑固定装置并删除 auth 条目。Most likely your initial data fixture includes entries from
auth_permission
. Django creates these initially during syncdb and then runs the fixtures. Your fixture then creates them again.If you're running Django 1.3+, you can use
--exclude auth
with thedumpdata
management command to create your fixtures. Otherwise, you'll need to either manually list all the apps/models that should be included (so thatauth
won't be by default) or manually edit the fixture afterwards and remove theauth
entries.