Ohne die Abfragesatz-API von Django zu patchen, können Sie mithilfe der Aggregationsfunktionen des ORM eine Gruppierung nach Funktionalität erreichen.
Um die Ergebnisse nach einem bestimmten Feld zu gruppieren und die Vorkommen jeder Gruppe zu zählen, verwenden Sie die folgende Syntax:
from django.db.models import Count result = (Members.objects .values('designation') .annotate(dcount=Count('designation')) .order_by() )
Dadurch wird ein Abfragesatz mit den gruppierten Ergebnissen zurückgegeben durch das Bezeichnungsfeld, zusammen mit der Anzahl jeder Bezeichnung. Die Ausgabe ist eine Liste von Wörterbüchern, die jeweils die Bezeichnung und dcount (Anzahl der Bezeichnungen) enthalten.
Um mehrere Felder einzuschließen Fügen Sie sie in den Ergebnissen einfach als Argumente zu den Werten() hinzu. Funktion:
.values('designation', 'first_name', 'last_name')
Das obige ist der detaillierte Inhalt vonWie kann ich Gruppierungsabfragen in Django mithilfe der Aggregation durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!