cnas/server/apps/certset/models.py

59 lines
2.4 KiB
Python

from django.db import models
from apps.system.models import CommonAModel, Dict
# Create your models here.
class Standard(CommonAModel):
status_choices = (
('现行', '现行'),
('即将实施', '即将实施'),
('作废', '作废'),
('废止', '废止')
)
name = models.CharField('标准名称', max_length=1000)
code = models.CharField('编号', max_length=30, null=True, blank=True)
publish_date = models.DateField('发布日期')
implement_date = models.DateField('实施日期')
status = models.CharField('状态', max_length=50,
choices=status_choices, default='状态')
path = models.CharField('文件地址', max_length=1000, null=True, blank=True)
class Meta:
verbose_name = '标准库'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class Unit(CommonAModel):
name = models.CharField('单元名称', max_length=1000)
class Meta:
verbose_name = '产品单元'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class ImplementRule(CommonAModel):
name = models.CharField('规则名称', max_length=1000)
code = models.CharField('编号', max_length=30, unique=True)
units = models.ManyToManyField(Unit, blank=True, verbose_name='单元划分', related_name='implementrule_units')
standards = models.ManyToManyField(Standard, blank=True, verbose_name='依据标准', related_name='implementrule_standards')
pv_scope = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='认证领域', related_name= 'implementrule_pv_scope')
pv_class = models.ForeignKey(Dict, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='自愿性产品认证产品', related_name= 'implementrule_pv_class')
cnas_scope = models.ManyToManyField(Dict, blank=True, verbose_name='CNAS业务范围', related_name= 'implementrule_cnas_scope')
economy_class = models.ManyToManyField(Dict, blank=True, verbose_name='国民经济分类', related_name= 'implementrule_economy_class')
cert_pattern = models.ManyToManyField(Dict, blank=True, verbose_name='认证模式', related_name= 'implementrule_cert_pattern')
class Meta:
verbose_name = '实施规则'
verbose_name_plural = verbose_name
def __str__(self):
return self.name