我需要从具有相同SKU编号的订单中提取一些产品。
orders=Order.objects.filter(products__contains=[{"sku":"002-2-1"}])
for e in orders:
print(e.products)
>>> [{'sku': 002-2-1, 'price': '366.00'}, {'sku': 002-2-1, 'price': '300.00'}] # 2 products in 1 order
>>> [{'sku': 002-2-1, 'price': '400.00'}] # 1 product in the order
字符串
我需要找到“价格”的平均值
我试着弄到一个有着听写的单子:
a = sum(list(orders.values_list("products", flat=True)), [])
[{'sku': 002-2-1, 'price': '366.00'}, {'sku': 002-2-1, 'price': '300.00'}, {'sku': 002-2-1, 'price': '400.00'}]
型
如何求出价格的平均值?
第一个月
也许有一个更好的方法来找到它通过F?
1条答案
按热度按时间rekjcdws1#
我没有尝试过,但请给予一下:
字符串
有趣的资源:
键、索引和路径转换--如何“处理”jsonfield查找
Avg
-要聚合查询集以获得平均值的函数条件聚合-一般的“how-to”如何与
Count
或提到的Avg
等函数聚合即使你没有要求更好的方式,我想说:“你为什么要用
JSONField
?在我看来,创建另一个名为Product
的模型,并通过ForeignKey
链接到Order
更有意义。它还支持所有很酷的django特性,比如聚合,注解等等。特别是如果JSONField
的方案总是相同的...为什么不建立更进一步的模型呢?我可以向您保证,使用专用的
Product
模型,所提供的解决方案将工作。对于JSONField
,我不是100%确定-让我知道!