38 lines
1.4 KiB
Python
Executable File
38 lines
1.4 KiB
Python
Executable File
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)
|