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

发布于 2024-12-23 08:13:55 字数 391 浏览 1 评论 0原文

我已经在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丶视觉 2024-12-30 08:13:55

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

如果您运行的是 Django 1.3+,则可以将 --exclude authdumpdata 管理命令一起使用来创建固定装置。否则,您需要手动列出应包含的所有应用程序/模型(以便默认情况下不会进行 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 the dumpdata management command to create your fixtures. Otherwise, you'll need to either manually list all the apps/models that should be included (so that auth won't be by default) or manually edit the fixture afterwards and remove the auth entries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文