Annotiere (Gruppen-) Daten nach Monat / Jahr in Django

Den Django benutzenDateQuerySet Ich ziehe verwandte Jahre füritem Objekte aus aGroup Abfrage.

>>> Group.objects.all().dates('item__date', 'year')
[datetime.date(1990, 1, 1), datetime.date(1991, 1, 1), ...(remaining elements truncated)...']

Jetzt möchte ich an diesen Daten eine Zählung nach einem bestimmten Jahr durchführen. Ich dachte das würde funktionieren:

>>> Group.objects.all().dates('item__date', 'year').annotate(Count('year'))
FieldError: Cannot resolve keyword 'year' into field.

Sieht aber so aus, als würde mir etwas fehlen. Wie kann ich diese Abfrage beheben?

Ich habe auch diese Abfrage versucht:

>>> (Group
     .objects
     .all()
     .extra(select=
         {'year': 
          connections[Group.objects.db].ops.date_trunc_sql('year', 'app_item.date')}))
ProgrammingError: missing FROM-clause entry for table "app_item" LINE 1: SELECT (DATE_TRUNC('year', app_item.date)) AS...

Aber das geht auch nicht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage