从数据库中的django中的DateField中提取一年

时间:2015-12-09 00:17:41

标签: python django django-queryset

我知道可以按年在数据库中使用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在数据库中重复一遍的方式迭代查询集。但我不想这样做。

1 个答案:

答案 0 :(得分:-1)

如果需要,可以使用list comprehension

语法是这样的:

[(x['label'], x['date'].year) for MyModel.objects.all().values('label','date')]