Предположим, у меня есть модель с двумя DateField
:
class Event(models.Model):
start_date = models.DateField()
finish_date = models.DateField()
Это позволяет мне создавать запросы, сравнивающие эти поля, например
ee=Event.objects.filter(finish_date=F('start_date'))
и я могу иметь дело с годом даты, например
ee=Event.objects.filter(finish_date__year=2000)
но когда я пытаюсь использовать тот же поиск __year
внутри F()
, вот так:
ee=Event.objects.filter(finish_date__year=F('start_date__year'))
, не получается:
FieldError: Cannot resolve keyword 'year' into field. Join on 'start_date' not permitted.
Есть ли причина для такого поведения или это похоже на ошибку?
Я использую Django 1.11, и не вижу таких ограничений на https://docs.djangoproject.com/en/1.11/topics/db/queries/#using-f-expressions-in-filters.