from django.db import models from apps.system.models import Post, User from apps.utils.models import BaseModel, CommonAModel # Create your models here. class Area(CommonAModel): """ 地图区域 """ name = models.CharField('名称', max_length=20) level = models.PositiveSmallIntegerField('区域等级') sort_str = models.CharField('排序字符', max_length=12, default='1') manager = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='区域负责人') visitor_no = models.BooleanField('不准许访客', default=True) rparty_no = models.BooleanField('不准许相关方', default=True) posts_access = models.ManyToManyField(Post, through='am.access') third_info = models.JSONField('三方信息', default=dict, null=False, blank=True) class Access(BaseModel): """ 准入权限 """ ACCESS_IN_YES = 10 ACCESS_IN_NO = 20 ACCESS_CHOICE = ( (ACCESS_IN_YES, '准入'), (ACCESS_IN_NO, '禁入') ) type = models.PositiveSmallIntegerField('准入类型', choices=ACCESS_CHOICE) area = models.ForeignKey(Area, verbose_name='关联区域', on_delete=models.CASCADE) post = models.ForeignKey(Post, verbose_name='关联岗位', on_delete=models.CASCADE)