在任何人都能为您提供有用的答案之前,您需要提供更多信息.描述你所知道的,你所尝试过的,详细阐述你希望实现的目标.
同时,您可以了解django的annotate()功能,并通过阅读django 的聚合文档来查看一些示例.
注释并不是唯一的方法.您也可以使用extra聚合,虽然它可能效率不高,但这将依赖于特定于您的数据库的SQL.此方法在App Engine中不起作用,但应在SQL兼容的数据库中起作用.
例如,假设你有一个Product模型和SalesOrder模型,其中SalesOrder模型具有行项目的每个product_id和order_date它.
top_products = Product.objects.extra(
select={'num_orders':'select count(product_id) from app_product where app_salesorder.order_date > thirty_days_ago and app_product.id = app_salesorder.product_id'})
.order_by('-num_orders')[:5]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5758 次 |
| 最近记录: |