【发布时间】:2015-07-11 01:05:47
【问题描述】:
我通过在 Django 模型中使用“元”来添加自定义权限。下面是一个简单的例子。
模型.py
class Meta:
permissions = (
("can_do_stuff", "Can do stuff"),
)
这很好用,我将上面的代码添加到模型中,然后进行迁移,然后迁移它们。权限已创建并可供使用。
但是,当我从模型的“元”部分删除(或修改)该权限并再次makemigrations、migrate 时,不会从 Django 系统中删除该权限(已删除/修改)。
如果我 100% 了解我的权限系统,这将不是问题,但我在学习过程中一直在微调,结果权限列表因“旧”权限而变得混乱。
我经常开发和发布新版本以供生产使用,并且权限在生产中变得混乱,我不能像在开发中那样擦除数据库。
有推荐的方法吗?
我可以直接从数据库中手动删除旧权限(这似乎只是我需要删除的一个条目,而且似乎不会造成任何问题)。这似乎是一种不好的做法,容易出错,被遗忘等。
【问题讨论】:
-
您是否尝试过对模型进行一些其他修改以确保创建了新的迁移,并检查了此处没有删除权限?编辑:我在上面找到了closed issue,看起来它已经修复了。
标签: django django-models