我需要为用户组实现用户权限(非常类似于 facebook 组)。例如,每个组可以拥有具有以下权限的成员:can_post、can_delete、can_ban 等。当然,一个用户可以是多个组的成员,并且组可以拥有多个具有不同权限的不同用户。
我需要哪些型号才能实现此功能?
我需要为用户组实现用户权限(非常类似于 facebook 组)。例如,每个组可以拥有具有以下权限的成员:can_post、can_delete、can_ban 等。当然,一个用户可以是多个组的成员,并且组可以拥有多个具有不同权限的不同用户。
我需要哪些型号才能实现此功能?
Django 有一个内置的组系统。每当您有这样的问题时,我建议您搜索 Django 文档,这些文档内容广泛、有用且写得很好。
只要您使用该django.contrib.auth
应用程序,您就可以访问群组。然后,您可以为这些组分配权限。
from django.contrib.auth.models import User, Group, Permission
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(app_label='myapp', model='BlogPost')
permission = Permission.objects.create(codename='can_publish',
name='Can Publish Posts',
content_type=content_type)
user = User.objects.get(username='duke_nukem')
group = Group.objects.get(name='wizard')
group.permissions.add(permission)
user.groups.add(group)