【发布时间】:2019-06-20 19:45:05
【问题描述】:
我正在制作一个估算应用程序的原型。
每个 Estimate 模型将有一个或多个 Part 模型。
这是我的模型的开始:
class Part(models.Model):
estimate = models.ForeignKey('Estimate', on_delete=models.CASCADE)
description = models.CharField(max_length=255)
class Estimate(models.Model):
number = models.CharField(max_length=255, primary_key=True)
customer = models.CharField(max_length=255, null=True, blank=True)
description = models.CharField(max_length=255, null=True, blank=True)
price = models.IntegerField(null=True, blank=True)
stitch = models.BooleanField(null=True, blank=True)
stitch_speed = models.IntegerField(null=True, blank=True)
stitch_rate = models.IntegerField(null=True, blank=True)
boxes = models.IntegerField(null=True, blank=True)
freight = models.IntegerField(null=True, blank=True)
overall_markup = models.IntegerField(null=True, blank=True)
date_created = models.DateField(auto_now_add=True)
def __str__(self):
return self.number
我的 Estimate 模型出现在管理员中,而 Part 模型位于 StackedInline 中。
class PartInline(admin.StackedInline):
model = Part
extra = 1
class EstimateAdmin(admin.ModelAdmin):
model = Estimate
inlines = [PartInline]
list_display = ['number', 'description', 'customer', 'price']
理想情况下,我会进入管理员,创建一个新的 Estimate,填写其部分,然后单击保存。
最终,我的 Estimate 模型将需要使用 Part 模型中的数据来执行计算,然后再保存到数据库中。例如,每个零件都包含自己的价格。每个零件的价格都需要添加到总估价中。
我无法弄清楚如何在保存之前将数据从 Part 模型发送到 Estimate 模型。
有什么建议吗?是否有在保存之前在模型之间传递数据的标准方法?
【问题讨论】:
-
您确定需要在估价中保存价格吗?当您需要显示它时(通过注释相关零件价格的总和)很容易计算出来。
-
@DanielRoseman 嗯....我并没有真正想过只显示总价,但这可能会奏效。最终,我希望能够导出包含所有数据的 PDF,因此我认为我需要存储总价,但可能并非如此。
标签: django django-models django-admin