Process.models.process_library 源代码

from django.db import models
from django.contrib.auth.models import User

from Core.models import WorkOrder
from Process import MATERIAL_CATEGORY_CHOICES


[文档]class Material(models.Model): """ 材质 """ name = models.CharField(verbose_name='材质名称', max_length=50) uid = models.CharField(verbose_name='材质编号', unique=True, max_length=20) category = models.IntegerField(verbose_name='材质类别', blank=True, null=True, choices=MATERIAL_CATEGORY_CHOICES) class Meta: verbose_name = '材质' verbose_name_plural = '材质' def __str__(self): return self.name
[文档]class ProcessLibrary(models.Model): """ 工艺库 保存工作令相关工艺公共信息 """ work_order = models.OneToOneField(WorkOrder, verbose_name='工作令', on_delete=models.CASCADE, related_name='process_library') writer = models.ForeignKey(User, verbose_name='工艺员', blank=True, null=True, related_name='process_lib_writer', on_delete=models.SET_NULL) write_dt = models.DateTimeField(verbose_name='编制日期', blank=True, null=True) quota_clerk = models.ForeignKey(User, verbose_name='定额员', blank=True, null=True, on_delete=models.SET_NULL, related_name='process_lib_quota_clerk') quota_dt = models.DateTimeField(verbose_name='定额日期', blank=True, null=True) proofreader = models.ForeignKey(User, verbose_name='校对人', blank=True, null=True, related_name='process_lib_proofreader', on_delete=models.SET_NULL) proofread_dt = models.DateTimeField(verbose_name='校对日期', blank=True, null=True) statistician = models.ForeignKey(User, verbose_name='统计员', blank=True, null=True, related_name='process_lib_statistician', on_delete=models.SET_NULL) statistic_dt = models.DateTimeField(verbose_name='统计日期', blank=True, null=True) class Meta: verbose_name = '工艺库' verbose_name_plural = '工艺库' def __str__(self): return str(self.work_order)
[文档]class ProcessMaterial(models.Model): """ 工艺物料 """ lib = models.ForeignKey(ProcessLibrary, verbose_name='工艺库', related_name='process_materials', on_delete=models.CASCADE) ticket_number = models.IntegerField(verbose_name='票号') part_number = models.IntegerField(verbose_name='件号') drawing_number = models.CharField(verbose_name='图号', blank=True, default='', max_length=50) parent_drawing_number = models.CharField(verbose_name='所属图号', blank=True, default='', max_length=50) name = models.CharField(verbose_name='名称', blank=True, default='', max_length=50) spec = models.CharField(verbose_name='规格', blank=True, default='', max_length=20) count = models.IntegerField(verbose_name='数量') material = models.ForeignKey(Material, verbose_name='材质', blank=True, null=True, on_delete=models.PROTECT) name = models.CharField(verbose_name='名称', blank=True, max_length=50) piece_weight = models.FloatField(verbose_name='净重', blank=True, null=True) remark = models.CharField(verbose_name='备注', blank=True, default='', max_length=50) class Meta: verbose_name = '工艺物料' verbose_name_plural = '工艺物料' def __str__(self): return self.name