我正在使用Django模型中的“meta”添加自定义权限。请参见下面的简单示例。
Models.py
class Meta:
permissions = (
("can_do_stuff", "Can do stuff"),
)
这很好用,我将上述代码添加到模型中,然后进行迁移。权限会被创建并可供使用。
但是,当我从我的模型的“meta”部分中删除(或修改)该权限,然后再次执行makemigrations
和migrate
时,被删除/修改的权限不会从Django系统中删除。
如果我已经完全弄清了权限系统,这就不是问题了,但是随着学习和微调,权限列表变得混乱不堪。
我正在频繁地开发和发布新版本以供生产使用,而权限在生产环境中变得混乱,无法像在开发环境中那样轻松清除数据库。
有没有推荐的方法来做到这一点?
我可以直接从数据库中手动删除旧权限(似乎只需要删除一个条目,而且似乎不会造成任何问题)。但这似乎是一种不好的做法,容易出错,被遗忘等。