Django admin:代理模型的用户权限

时间:2014-01-30 08:07:46

标签: django django-models django-admin

我创建了一个App,其模型只是代理模型,继承自另一个应用程序的模型 现在我遇到了问题,我无法通过admininterface为用户提供编辑这些模型的权限。

在管理页面的“用户”应用中,我通常可以授予和撤消特定应用的权限,甚至不会列出此应用。
我已经尝试了syncdb,但这对我没有帮助。

this SO帖子中的答案也没有帮助我

修改
我只是尝试创建一个新模型(在应用程序内部,只包含代理模型)。 对于此模型,可以授予权限。

当然,由于代理模型使用与其父模型相同的数据,因此如果允许用户更改父模型,则不需要其他权限。但每次我尝试访问此模型时都会显示“禁止”

2 个答案:

答案 0 :(得分:0)

我之前从未使用过代理模型,但我认为您可能需要将它们分开设置,但无论如何我认为您应该尝试通过运行此行来备份数据库

python manage.py dumpdata your_app --all > /home/you/your_project/backup.json

然后重置该模型

python manage.py dumpdata reset your_app

完成后再次加载数据

python manage.py loaddata your_app /home/you/your_project/backup.json

看看是否能修复项目中的故障

答案 1 :(得分:0)

在我的情况下,我做了类似于你的事情,我为用户添加了一个代理模型,但无法获得在permisssions选项卡中显示的相关权限。 做一个manage.py makemigrations& manage.py migrate修复了它,它包含了contenttype表中的相关字段或类似的东西。