gpt4 book ai didi

python - 如何在 Django 中动态创建权限?

转载 作者:太空狗 更新时间:2023-10-29 21:09:23 24 4
gpt4 key购买 nike

现在我可以使用 Django 组模块创建新组。从 django.contrib.auth.models 导入组我可以为组分配权限。例如我创建了一个新组“人力资源”

通过 Group(name="HR")

现在我想创建类似的权限

  • can_create_hr
  • can_edit_hr

我应该能够将此权限分配给其他组。

我该怎么做?

最佳答案

您也可以直接为群组创建和分配权限。只需创建权限将权限添加到组

from django.contrib.auth.models import User, Group, Permission
from django.contrib.contenttypes.models import ContentType

content_type = ContentType.objects.get(app_label='app_name', model='model_name')
permission = Permission.objects.create(codename='can_create_hr',
name='Can create HR',
content_type=content_type) # creating permissions
group = Group.objects.get(name='HR')
group.permissions.add(permission)

如果你想将此权限分配给另一个组,那么只需获取权限对象并以相同的方式分配即可。

permission = Permission.objects.get(codename='can_create_hr')
group= Group.objects.get(name='some_name')
group.permissions.add(permission)

您可以在 docs 中阅读更多相关信息

关于python - 如何在 Django 中动态创建权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45831933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com