1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from django.contrib.auth.models import User, Group
- from django.db.models import Model
- from mptt.fields import TreeForeignKey
- from mptt.models import MPTTModel
- from django.db import models
- class Menu(MPTTModel):
- name = models.CharField(max_length=100)
- config = models.TextField()
- create_at = models.DateTimeField(auto_now_add=True)
- create_by = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)
- parent = TreeForeignKey('self', blank=True, null=True, on_delete=models.CASCADE)
- code = models.CharField(max_length=100)
- class Meta:
- app_label = 'basic'
- db_table = 'basic_menu'
- verbose_name = '报表菜单'
- verbose_name_plural = '报表菜单列表'
- class RouterMenu(MPTTModel):
- """
- 前端路由备份,用作中间表做权限
- """
- name = models.CharField(max_length=50)
- path = models.CharField(max_length=50)
- title = models.CharField(max_length=50, null=True)
- url = models.CharField(max_length=50)
- parent = TreeForeignKey('self', blank=True, null=True, on_delete=models.CASCADE)
- class Meta:
- verbose_name = '前端菜单'
- verbose_name_plural = '前端菜单列表'
- class GroupRouterMenu(Model):
- """
- 前端菜单的权限与角色绑定
- """
- group = models.ForeignKey(Group, blank=True, null=True, on_delete=models.CASCADE)
- menu = models.ForeignKey(RouterMenu, blank=True, null=True, on_delete=models.CASCADE)
- class Meta:
- verbose_name = '前端菜单与角色的中间表'
- verbose_name_plural = '前端菜单和角色的中间表列表'
|