Django,具有 "Def Self" 值的模型,SUM 聚合未能运行

2024-09-24 12:34:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下型号:

类PurchaseOrderLine(模型。模型)公司名称:

 productcode = models.ForeignKey(OurProduct, on_delete=models.PROTECT)

 price = models.DecimalField (max_digits=6, decimal_places=2)

 qty = models.IntegerField()


 def linetotal(self):

    from decimal import *

    total = (self.price * self.qty)

    return total

在我的视图.PY我试着计算线路总数:

^{pr2}$

但它返回FIELDERROR“Cannot resolve keyword'linetotal'into field”???在

在查询中,我可以将Sum('linetotal')替换为Sum('price'),它可以正常工作,但不能使用def linetotal(self)。在


Tags: 模型self名称modelsdef公司pricetotal
1条回答
网友
1楼 · 发布于 2024-09-24 12:34:51

linetotal属性在数据库级别不存在,那么ORM将如何处理它?您需要使用extra实现查询:

for purchase_order_line in PurchaseOrderLine.objects.extra(select={'total': 'price * qty'}):
    print purchase_order.total

相关问题 更多 >