【发布时间】:2015-12-09 00:17:41
【问题描述】:
我知道可以像这样在数据库中按年使用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 中以一百万种方式迭代查询集。但我不想这样做。
【问题讨论】:
-
在 django 1.9 中引入了年份链接查找:docs.djangoproject.com/en/1.9/ref/models/querysets/#year 你在哪个版本的 django 上?
-
我现在是 1.8,我可以发誓过滤是可能的。我会更新问题,但核心问题仍然存在。
标签: python django django-queryset