123456789101112131415161718192021222324252627282930313233343536373839 |
- from django.db import models
- from Info.models import User, Company
- # Create your models here.
- class Setting(models.Model):
- id = models.AutoField(primary_key=True)
- company = models.ForeignKey(to=Company, on_delete=models.CASCADE, null=True)
- default_owner = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='default_engineer', null=False, blank=False) # 默认IT服务工程师
- default_escalation = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name='escalation_contact', null=False, blank=False) # 默认IT服务工程师
- default_urgency_level = models.IntegerField(default=4) # 紧急程度默认为4
- max_attachment_size = models.IntegerField(default=20) # 默认公司保存附件大小(单位M)
- class Case(models.Model): # IT 提交的case
- id = models.AutoField(primary_key=True)
- submitter = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="submitter_of_case", null=False, blank=False) # 创建人
- contact_name = models.TextField() # 可能提交人未必是登陆人,所以必须自定义联系人姓名和手机号码(contact_mobile)
- contact_mobile = models.BigIntegerField()
- description = models.TextField(blank=True, null=True) # 问题描述
- company = models.ForeignKey(to=Company, on_delete=models.CASCADE, null=False)
- owner = models.ForeignKey(to=User, on_delete=models.CASCADE, related_name="owner_of_case", null=True, blank=True) # 负责IT服务工程师
- status = models.TextField(default='open') # 状态 open,closed
- urgency_level = models.IntegerField(null=False, blank=False) # 从setting里面读取
- create_datetime = models.DateTimeField(auto_now_add=True)
- due_datetime = models.DateTimeField(null=False, blank=False) # 根据紧急程度自动计算
- last_update_datetime = models.DateTimeField(auto_now=True)
-
- class CaseAttachment(models.Model):
- id = models.AutoField(primary_key=True)
- case = models.ForeignKey(to=Case, on_delete=models.CASCADE, blank=True, null=True)
- storage_type = models.TextField(default="local") # 存储类型 local/cloud 默认为local
- url = models.TextField()
- display_name = models.TextField()
- creator = models.ForeignKey(to=User, on_delete=models.DO_NOTHING, null=True, blank=True) # 创建人
- company = models.ForeignKey( to=Company, on_delete=models.CASCADE, null=True)
- create_datetime = models.DateTimeField(auto_now_add=True)
- last_update_datetime = models.DateTimeField(auto_now=True)
|