制作对象列表的过滤器

时间:2011-08-06 13:17:14

标签: python django filter tags

我从数据库中获取了具有属性的对象列表。所以我想在左侧制作动态滤波器取决于我的列表结果。

例如,如果我在“巴黎”和“纽约”上刊登广告,我想看左边的巴黎(1),纽约(1)。当你点击它时,你会看到巴黎的广告或纽约的广告。

最好的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

from django.db.models import Q
Advertisement.objects.filter( Q(name = 'Paris') | Q(name = 'New York') )

您需要使用filtersQ objects

答案 1 :(得分:0)

您可以使用聚合 https://docs.djangoproject.com/en/dev/topics/db/aggregation/#generating-aggregates-for-each-item-in-a-queryset

为例:

cities = City.objects.annotate(ads_count=Count("adevertissement"))