from django.db import models from rbac.models import CommonModel # Create your models here. class Article(CommonModel): ''' 文章 ''' title = models.CharField(max_length=60, verbose_name='标题') elink = models.URLField(verbose_name='外部链接', null=True, blank=True) content = models.TextField(verbose_name='内容', blank=True) ifrom = models.CharField(max_length=60, verbose_name='来源') is_top = models.BooleanField('置顶', default=False) type = models.IntegerField('类型', default=0) class Meta: verbose_name = '文章' verbose_name_plural = verbose_name def __str__(self): return self.title class Material(CommonModel): """ 学习资料 """ type_choices = ( ('文档', '文档'), ('视频', '视频'), ('图片', '图片'), ('音乐', '音乐'), ) name = models.CharField(max_length=200, verbose_name='标题', unique=True) description = models.TextField('描述', null=True, blank=True) path = models.CharField(max_length=1000, verbose_name='文件地址') poster = models.CharField(max_length=10000, verbose_name='封面地址', null=True, blank=True) cate = models.CharField('分类', max_length=50, default='未分类') type = models.CharField('格式', default='文档', max_length=50) down_count = models.IntegerField('阅读量', default=0) sort = models.IntegerField('排序码', default=1) class Source(CommonModel): name = models.CharField('来源名称', max_length=200) author = models.CharField('作者', max_length=100, null=True, blank=True) publish_year = models.PositiveSmallIntegerField('发表年份', null=True, blank=True) note = models.TextField('备注', null=True, blank=True) class Threshold(CommonModel): source = models.ForeignKey(Source, verbose_name='来源', on_delete=models.CASCADE) compound_cate = models.CharField('化合物分类', max_length=10) odor_type = models.CharField('气味类型', null=True, blank=True, max_length=50) threshold_type = models.CharField('阈值类型', null=True, blank=True, max_length=50) toxicity_type = models.CharField('毒性类型', null=True, blank=True, max_length=50) chinese_name = models.CharField('中文名', max_length=50) ppm = models.FloatField('ppm值') ppm_sign = models.CharField('ppm符号标记', max_length=10, default='=') mass = models.FloatField('质量浓度') toxicity = models.FloatField('毒性', null=True, blank=True) mass_sign = models.CharField('质量浓度符号标记', max_length=10, default='=') molecular = models.FloatField('分子质量') cas = models.CharField('cas号', max_length=20) class Userpz(CommonModel): art_name = models.CharField('姓名', max_length=50) art_photo = models.CharField('照片', max_length=100) art_cate = models.CharField('类别', null=True, blank=True, max_length=50) art_honor = models.CharField('荣誉', null=True, blank=True, max_length=100) art_remark = models.TextField('备注', null=True, blank=True) def __str__(self): return self.art_name class Youpeidetail(CommonModel): remark = models.TextField('备注', null=True, blank=True) def __str__(self): return self.remark class CompanyInfo(CommonModel): company_name = models.CharField('父公司名称', max_length=50) edu_points = models.FloatField('教育积分', null=True, blank=True) co_sponsor_points = models.FloatField('协办大赛积分', null=True, blank=True) sum_points = models.FloatField('总积分', null=True, blank=True) photo = models.CharField('公司图片', null=True, blank=True, max_length=100) remark = models.TextField('备注', null=True, blank=True) def __str__(self): return self.company_name def save(self, *args, **kwargs): self.sum_points = (self.edu_points or 0) + (self.co_sponsor_points or 0) super(CompanyInfo, self).save(*args, **kwargs) class ChildrenCompany(CommonModel): child_edu_points = models.FloatField('教育积分', null=True, blank=True) child_co_sponsor_points = models.FloatField('协办大赛积分', null=True, blank=True) parent_company = models.ForeignKey(CompanyInfo, verbose_name='父公司', on_delete=models.CASCADE) def __str__(self): return self.child_company_name