########权限相关
class Menu(models.Model):
"""菜单组"""
name = models.CharField(max_length=32,verbose_name='菜单', blank=True, null=True)
is_menu=models.ForeignKey(to='Menu',null=True,blank=True,verbose_name='母菜单')
class Meta:
verbose_name_plural = "菜单表"
def __str__(self):
return self.name
class Group(models.Model):
"""权限组"""
name = models.CharField(verbose_name='组名称',max_length=16, blank=True, null=True)
menu = models.ForeignKey(verbose_name='所属菜单',to='Menu', blank=True,null=True)
class Meta:
verbose_name_plural = "权限组"
def __str__(self):
return self.name
class Permission(models.Model):
"""权限表URL"""
name = models.CharField(verbose_name='标题', max_length=32)
url = models.CharField(verbose_name="含正则URL", max_length=64)
menu_gp = models.ForeignKey(verbose_name='默认选中的组内权限ID', to='Permission', null=True, blank=True, related_name='x1')
code = models.CharField(verbose_name="代码", max_length=16)
group = models.ForeignKey(verbose_name='所属组', to="Group")
class Meta:
verbose_name_plural = "权限URL表"
def __str__(self):
return self.name
class PteamPermission(models.Model):
"""项目组权限表"""
name = models.CharField(max_length=32, blank=True,null=True,verbose_name='项目读写')
permissions = models.ManyToManyField(verbose_name='具有的所有权限', to='Permission', blank=True,null=True)
class Meta:
verbose_name_plural = "项目权限表"
def __str__(self):
return self.name