Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django管理控制台不断列出从模型中删除的权限_Django_Django Models_Permissions - Fatal编程技术网

Django管理控制台不断列出从模型中删除的权限

Django管理控制台不断列出从模型中删除的权限,django,django-models,permissions,Django,Django Models,Permissions,我有一个患者模型,默认情况下,“添加患者”、“更改患者”和“删除患者”权限会添加到数据库中。我还想添加一个“查看患者”,但我意外地将其指定为“app.view\u patient”,因为我的应用程序名为“app”,并且在除模型之外的任何其他位置,您都需要将此标识符放在权限字符串前面,以指示类级权限。原来此权限已在内部转换为“app.app.view\u patient”,因为Django会自动为模型权限附加“app”标识符 我意识到了我的错误,所以我尝试将权限更改为“查看患者”,但出于某种原因,

我有一个患者模型,默认情况下,“添加患者”、“更改患者”和“删除患者”权限会添加到数据库中。我还想添加一个“查看患者”,但我意外地将其指定为“app.view\u patient”,因为我的应用程序名为“app”,并且在除模型之外的任何其他位置,您都需要将此标识符放在权限字符串前面,以指示类级权限。原来此权限已在内部转换为“app.app.view\u patient”,因为Django会自动为模型权限附加“app”标识符

我意识到了我的错误,所以我尝试将权限更改为“查看患者”,但出于某种原因,管理控制台会继续列出以前的权限,即使我在患者模型上没有指定其他权限的情况下运行了多个模型迁移

我想知道以前是否有人遇到过这个问题,管理员页面与新迁移的模型不同步


干杯,

Django不会手动检测或从数据库中删除过时的权限

解决此问题的最简单方法可能是使用db shell(或GUI工具,如果您已经使用了)从
auth\u permission
数据库表中删除它们


如果您需要自动执行此操作,您可以从
django.contrib.auth.models
导入模型,然后过滤并删除过时的权限。

Wow,太快了:)我会的,谢谢提示!还有一个类似的问题,聪明的建议是在Django admin中注册
权限
模型,以便于编辑/删除权限。这听起来确实是管理控制台中非常有用的功能