我通过将两个字段相乘来计算项的size
。你知道吗
Size = order_size_weight x requested_selling_price
我有两种方法。你知道吗
return float(self.order_size_weight) * float(self.requested_selling_price)
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吗在使用annotate帮助解决问题之前,我可以使用select extra
解决第二个问题。你知道吗
虽然仍然可以对计算字段同时执行
annotate
和aggregate
,但如果您还想对其进行排序(并且没有计算结果的索引),就数据库性能而言,不建议这样做。你知道吗对于这样的情况,我建议使用enter link description here(或类似的东西)。可以使用回调函数将结果存储在数据库中:http://initcrash.github.io/django-denorm/tutorial.html#creating-denormalized-fields-using-callback-functions
相关问题 更多 >
编程相关推荐