既然有 User.has_perm(permission_string)
我觉得应该有get_perm(permission_string)
某处。
我在文档中找不到它。
如何从权限字符串中获取权限对象?
对我来说,权限字符串是这样的:'myapp.permmission_name'。
最佳答案
所有权限都存储在 Permissions 模型中,可以这样获取:
from myapp.models import BlogPost
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get_for_model(BlogPost)
permission = Permission.objects.get(codename='can_publish',
content_type=content_type)
https://docs.djangoproject.com/en/1.7/topics/auth/default/#programmatically-creating-permissions
或者,如果您想从字符串中获取它:
from django.contrib.auth.models import Permission
app_label, codename = your_permisssion_string.split('.')
Permission.objects.get(content_type__app_label=app_label, codename=codename)
关于Django: get_perm(permision_string),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25967759/