项目文件:

 

   RBAC在Django中基于中间件的AJAX应用案例

models.py

 1 from django.db import models
 2 from django.contrib.auth.models import AbstractUser
 3 # Create your models here.
 4  
 5 class UserInfo(AbstractUser):
 6     role=models.ManyToManyField(to='Role',verbose_name='角色',null=True,blank=True)
 7     def __str__(self):
 8         if self.role:
 9             return f'{self.username}({self.role.name})'
10         else:
11             return f'{self.username}(未分配)'
12  
13 class Role(models.Model):
14     name=models.CharField(max_length=32,verbose_name='角色名称')
15     permission=models.ManyToManyField(to='Permission',verbose_name='权限')
16     def __str__(self):
17         return self.name
18  
19 class Permission(models.Model):
20     name=models.CharField(max_length=32,verbose_name="权限")
21     url=models.CharField(max_length=64,verbose_name='url')
22     def __str__(self):
23         return self.name
models.py

相关文章: