【问题标题】:about annotate django关于注释 django
【发布时间】:2009-04-30 14:07:48
【问题描述】:

我想创建每月前五名的畅销产品。

听说这种情况必须使用注解,但不知道怎么用。

有人愿意帮助我吗??

【问题讨论】:

  • 给我们您当前的代码。如果您没有任何问题,那么您很可能会在编写过程中回答您自己的问题。

标签: django annotations


【解决方案1】:

您需要提供更多信息,然后其他人才能为您提供有用的答案。描述你知道什么,你尝试过什么,详细说明你希望完成什么。

同时,您可以了解 django 的 annotate() 函数,并通过阅读 django 的 aggregation documentation 查看一些示例。

【讨论】:

    【解决方案2】:

    注释不是唯一的方法。您也可以使用extra 聚合,尽管它可能效率不高,并且这将依赖于特定于您的数据库的 sql。这种方法在 App Engine 中不起作用,但应该在符合 SQL 的数据库中起作用。

    例如,假设您有一个Product 模型和一个SalesOrder 模型,其中SalesOrder 模型中的每个product_idorder_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]
    

    【讨论】:

      猜你喜欢
      • 2013-11-05
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2022-12-07
      • 1970-01-01
      • 2012-06-02
      相关资源
      最近更新 更多