【发布时间】:2009-02-27 07:12:52
【问题描述】:
有时,您需要在 Django 中重命名一个模型(或者,在我最近遇到的一个案例中,将一个模型分成两个,使用新的/不同的名称)。 (是的,适当的计划有助于避免这种情况)。
在重命名数据库中的相应表并修复受影响的代码后,仍然存在一个问题:授予用户或组对这些模型进行操作的任何权限仍然引用旧模型名称。是否有任何自动化或半自动化的方法来解决这个问题,还是只是手动数据库手术的问题? (在开发中您可以删除 auth_permissions 表并使用 syncdb 重新创建它,但生产并不那么简单)。
【问题讨论】:
-
9 年后……你还记得你是怎么做到的吗?
-
哈,不记得了,抱歉。此页面上的其他答案是否有帮助?如果您想出适用于 Django 2 的配方,请发布。
-
在我的特殊情况下,我的 django 数据库填充了来自旧数据库的 ETL 脚本。我觉得修复权限之后会修复索引和 postgresql 序列等,我不想进入兔子洞。我最终清除了数据库,使用新数据库的新模型名称重新运行 django 迁移,然后重新运行 ETL 脚本
标签: django django-models