我正在查询数据库,并且正在尝试查找名为“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'))
但是,这会从db返回一个空查询。有什么想法吗?我没有收到任何错误。只是一个空的查询集。
答案 0 :(得分:0)
不是一个真正的答案,只是一个关于如何调查的想法:检查实际查询,即通过print str(some_queryset.query)
执行。然后,您可以尝试在manage.py dbshell
中执行查询并检查结果。
同样发布您的模型和数据库引擎可能很有用,因为它可能是相关的。
答案 1 :(得分:0)
也许你可以使用count()方法来计算QuerySet中的项目: count()
user_lists_count = List.objects.filter(user=user).select_related('city','city__country').count()
这有用吗?
希望这就是你想要的。答案 2 :(得分:0)
刚刚意识到这是item_count
变量的一个问题。当我使用total_items
时,它工作正常。