【问题标题】:Django Query Get Related Set CountDjango 查询获取相关集计数
【发布时间】:2012-02-20 16:52:09
【问题描述】:

我正在查询数据库并试图查找名为“item”的相关集的计数。

user_lists = List.objects.filter(user=user).select_related('city','city__country')

这带来了我想要的项目,但要添加相关集的计数,我正在添加注释:

user_lists = List.objects.filter(user=user).select_related('city','city__country').annotate(item_count=Count('item'))

但是,这会从数据库返回一个空查询。任何想法为什么?我没有收到任何错误。只是一个空的查询集。

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

    不是一个实际的答案,只是一个关于如何调查的想法:检查实际查询,该查询正在通过print str(some_queryset.query) 执行。然后您可以尝试在manage.py dbshell 中执行查询并查看结果。

    还发布您的模型和数据库引擎可能很有用,因为它可能是相关的。

    【讨论】:

      【解决方案2】:

      也许您可以使用 count() 方法对 QuerySet 中的项目进行计数: count()

      user_lists_count = List.objects.filter(user=user).select_related('city','city__country').count()
      

      这行得通吗?

      希望这是你想要的。

      【讨论】:

        【解决方案3】:

        刚刚意识到item_count 变量存在问题。当我使用total_items 时,它运行良好。

        【讨论】:

          猜你喜欢
          • 2016-07-11
          • 1970-01-01
          • 2019-07-12
          • 2011-09-25
          • 1970-01-01
          • 2016-09-05
          • 2011-07-23
          • 2014-02-21
          • 2021-02-25
          相关资源
          最近更新 更多