我已经为我的模型添加了权限,我想在管理员中创建一个使用此权限的组。
问题是权限列表中没有列出新权限。
我需要做些什么才能将其添加到该列表中吗?
class Meta:
permissions = (
("add_remove_job", "Can add/remove jobs"),
)
解决方案:这是 South 的一个已知限制,解决方案是执行 syncdb --all
我已经为我的模型添加了权限,我想在管理员中创建一个使用此权限的组。
问题是权限列表中没有列出新权限。
我需要做些什么才能将其添加到该列表中吗?
class Meta:
permissions = (
("add_remove_job", "Can add/remove jobs"),
)
解决方案:这是 South 的一个已知限制,解决方案是执行 syncdb --all
尝试:
manage.py syncdb --all
否则,您可以强制 django 为特定应用程序生成权限:
from django.contrib.auth.management import create_permissions
from django.apps import apps
create_permissions(apps.get_app_config('my_app_name'))
这将执行应用程序中的所有模型。如果您只想要一个子集,您可以替换模型类对象列表而不是“get_models()”。
每次添加/修改模型的权限时,您需要做的是一个同步数据库。
python manage.py syncdb
python manage.py migrate --fake