我知道可以按年在数据库中使用lookups to filter a DateField,如下所示:
MyModel.objects.filter(date__year=2000) # Returns all objects with a year of 2000
但是,我想要使用values()
call时的摘录:
MyModel.objects.all().values('label','date__year') # Fails!
FieldError: Cannot resolve keyword 'year' into field. Join on 'date' not permitted.
我尝试过自定义查找,但这不适用于值调用。
如何在这种查询中提取年份?
编辑:为了清楚起见,我知道我可以通过Python在数据库中重复一遍的方式迭代查询集。但我不想这样做。
答案 0 :(得分:-1)
如果需要,可以使用list comprehension。
语法是这样的:
[(x['label'], x['date'].year) for MyModel.objects.all().values('label','date')]