使用django自帶的group表給角色分組


導入django自帶的用戶基類和分組模型

from django.contrib.auth.models import AbstractUser, Group

創建模型

class DongYaoUser(AbstractUser):
name = models.CharField(max_length=32, verbose_name='姓名')
department = models.ManyToManyField('Role', verbose_name='職位')

class Meta:
verbose_name_plural = '員工管理'

def __str__(self):
return self.name


class Role(models.Model):
name = models.CharField(max_length=32, verbose_name='職位名稱')
#多對多關聯group模型
groups = models.ManyToManyField(to=Group, verbose_name="權限組")

class Meta:
verbose_name_plural = '職位管理'

def __str__(self):
return self.name

views.py

#從角色中取出該角色的所有權限組並去重
role_list = staff.role.all()
group_set = {group.id for role in role_list for group in role.groups.all()}
#給角色添加權限
staff.groups.add(*group_set)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM