大神您好,我现在想要了解一下django-admin中对于model规划的部分,首先说一下我的设想: 在后台使用同一张数据表注册两个ModelAdmin页面,用于对同一个数据表中的数据,管理页面分开,以采购订单子表中的采购明细和采购明细的质量信息表管理为例:
1、采购订单子表内联到订单主表中,显示实际采购的实际物品
预先设想的概念图大概是这样:
基于django的官方文档,我使用代理模型进行创建
#订单表
class order(models.Model):
code = models.CharField(verbose_name='订单编码',max_length=50,default='')
createDate = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
class Meta:
verbose_name = '订单信息'
verbose_name_plural = verbose_name
#订单明细
class orderItem(models.Model):
owner = models.ForeignKey(verbose_name='所属订单',to=order,on_delete=models.CASCADE)
name = models.CharField(verbose_name='采购物品名称',max_length=50,default='')
#...其它相关属性
class Meta:
verbose_name = '订单明细'
verbose_name_plural = verbose_name
#代理订单子表
class Proxy2orderItem(models.Model):
class Meta:
proxy = True
verbose_name = '采购物品名称'
verbose_name_plural = verbose_name
#物料的质量信息
class quality(models.Model):
owner = models.ForeignKey(verbose_name='所属商品',to=Proxy2orderItem,on_delete=models.CASCADE)
info = models.CharField(verbose_name='质量说明',max_length=50,default='')
class Meta:
verbose_name = '物品质量信息'
verbose_name_plural = verbose_name
通过以上操作,我可以在后台创建两个管理页面:orderItemAdmin以及Proxy2orderItem
这样做的目的是为了让采购人员进行订单创建,让质量人员进行质检。
但是现在面临一个问题就是在做报表统计的时候,如何能够关联订单主档、订单明细档、订单明细档的质量信息,汇总出一份数据? 还有,以上我的model设计是不是一个合理的设计呢? 以上,还请赐教,顺颂商祺~