【发布时间】:2014-11-05 01:04:01
【问题描述】:
我通过将两个字段相乘来计算项目的size。
Size = order_size_weight x requested_selling_price
我有两种方法可以做到这一点。
1。模型属性
return float(self.order_size_weight) * float(self.requested_selling_price)
2。修改查询集
return self.extra(
select={"priority": "COALESCE(bm_rank, sales_rank, id)",
"size": "order_size_weight*requested_selling_price", # for oder_by size.
})
问题
当我使用second 方法时,我不能使用Annotate 来聚合或获取所有大小的总和。
问题
-
calculate Size的最佳/快速方法是什么? - 我可以在使用
extra select后使用Annotate吗?
编辑
2 的解。
我可以通过在使用注释之前使用select extra 来解决第二个问题,这将有助于解决问题。
【问题讨论】:
-
Here 是一个相关问题
-
我建议您编辑标题以更好地匹配问题 - 现在它非常通用,并没有暗示任何可能相关的事实:COALESCE、选择额外等。
-
你刚刚对这个标题投了反对票吗?不过我已经更新了。
标签: python django django-orm