Cog*_*gsy 5 django django-models
我目前在我的Django应用程序中有一行如下:
db.execute("SELECT SUM(price * qty) FROM inventory_orderline WHERE order_id = %s", [self.id])
Run Code Online (Sandbox Code Playgroud)
我宁愿通过我的Django提供的模型界面执行此操作,但找不到任何引用.
我很确定这可以通过注释完成,但这些示例仅涵盖了其中的一些,我在文档中找不到列表.
我想做这样的事情:
self.line_items.annotate(lineprice=Product('orderline__price', 'orderline__qty')).aggregate(Sum('lineprice'))
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议使用注释类来执行乘法吗?更好的是,列出所有这些注释/聚合类的API的链接?
不幸的是,没有足够的内置聚合函数,特别是没有用于产品的聚合函数。
但这不会以任何方式限制您,除了必须编写“不简洁”的 ORM 查询。针对您的具体情况,您应该能够执行以下操作:
self.line_items.extra(select=("lineprice": "orderline__price*orderline__qty")).aggregate(Sum('lineprice'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3163 次 |
| 最近记录: |