Django 公共模型字段的设置和继承(AuditBaseModel、ApprovalBaseModel)
from django.conf import settings from django.db import models from fwApp.models import FW002HModel class ApprovalBaseModel(models.Model): fw_list = models.ForeignKey(FW002HModel, null=True, blank=True, to_field='fw_list', on_delete=models.PROTECT, related_name='%(class)s_fw_list', verbose_name="审批单号") status = models.BooleanField(default=0, verbose_name='是否核准') rgs_user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=True, blank=True, to_field='username', related_name='%(class)s_rgs_user', verbose_name='审核账号') rgs_time = models.DateTimeField(null=True, editable=False, blank=True, verbose_name="审核时间") class Meta:
abstract = True
from django.utils.timezone import now
class AuditBaseModel(models.Model):
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=True, blank=True,
to_field='username', related_name='%(class)s_created_by', verbose_name='创建账号')
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
updated_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=True, blank=True,
to_field='username', related_name='%(class)s_updated_by', verbose_name='更新账号')
updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")
class Meta:
abstract = True
class CU005HModel(ApprovalBaseModel, AuditBaseModel): """ 销售订单特结单表头 Close 尚未出货或者部分出货时,终结此笔单据,出多少算多少 """ cl_no = models.CharField(unique=True, max_length=20, editable=False, verbose_name="销售订单特结单号") cl_date = models.DateField(default=date.today, editable=False, verbose_name="特结日期") fa_no = models.ForeignKey(BS001HModel, on_delete=models.PROTECT, related_name='cu005h_fa_no', to_field='fa_no', verbose_name="厂别") cu_no = models.ForeignKey(CU001HModel, on_delete=models.PROTECT, related_name='cu005h_cu_no', to_field='cu_no', verbose_name="客户") pa_no = models.ForeignKey(PA003HModel, on_delete=models.PROTECT, related_name='cu005h_pa_no', to_field='pa_no', verbose_name="经办人") reason = models.CharField(null=True, blank=True, max_length=100, verbose_name="特结原因") confirm = models.BooleanField(default=False, verbose_name="是否确认") rgc_user = models.CharField(max_length=20, editable=False, null=True, blank=True, verbose_name="确认账号") rgc_time = models.DateTimeField(null=True, editable=False, blank=True, verbose_name="确认时间") class Meta: db_table = 'cu005h' verbose_name = '销售订单特结单表头' verbose_name_plural = verbose_name
分类:
Django
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!