我有一个如下查询集:
<QuerySet [{'year': 2019}, {'year': 2019}, {'year': 2012}]>
我想过滤它,使其仅显示特定年份的年份。
这是我的方法:
@api_view()
def buildingGroupYear(request, pk, year):
passed_year = str(year)
building_group_object = get_object_or_404(BuildingGroup, id=pk)
buildings = building_group_object.buildings.all()
for item in buildings:
demand_heat_item = item.demandheat_set.all().values('year')
print(demand_heat_item)
return Response(demand_heat_item)
demand_heat_item是查询集。现在,我想将passed_year作为参数传递并进行相应的过滤。
我尝试了F和Q表达式,也尝试使用__gt进行过滤,但是无法使其正常工作。
我也更喜欢使用.values()方法,因为我需要它可以JSON序列化。
我尝试过这样:
demand_heat_item = item.demandheat_set.get(year__exact(passed_year))
and so:
demand_heat_item = item.demandheat_set.filter(year__gte(passed_year))
and so:
demand_heat_item = item.demandheat_set.filter(year=F(passed_year))
and so
demand_heat_item = item.demandheat_set.filter(year=Q(passed_year))
非常感谢您的帮助!在此先感谢!