Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Gruppierungsabfragen in Django mithilfe der Aggregation durchführen?

Wie kann ich Gruppierungsabfragen in Django mithilfe der Aggregation durchführen?

Barbara Streisand
Freigeben: 2024-12-06 02:51:11
Original
485 Leute haben es durchsucht

How Can I Perform Group By Queries in Django Using Aggregation?

Gruppieren nach Abfragen in Django

Ohne die Abfragesatz-API von Django zu patchen, können Sie mithilfe der Aggregationsfunktionen des ORM eine Gruppierung nach Funktionalität erreichen.

Aggregation mit Werten und Count

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()
)
Nach dem Login kopieren

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.

Einschließen mehrerer Felder in Ergebnissen

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')
Nach dem Login kopieren

Referenzen

  • [Django-Dokumentation: Werte()](https://docs.djangoproject.com/en/ stabil/ref/models/querysets/#values)
  • [Django-Dokumentation: annotate()](https://docs.djangoproject.com/en/stable/ref/models/querysets/#annotate)
  • [Django-Dokumentation: Anzahl](https://docs.djangoproject.com /en/stable/ref/models/lookups/#count)
  • [Django-Dokumentation: Aggregation](https://docs.djangoproject.com/en/stable/topics/db/aggregation/)
  • [Django-Dokumentation: Interaktion mit Standardreihenfolge oder order_by()](https://docs.djangoproject.com/en/stable/topics/db/aggregation/#interaction-with-default-ordering-or-orderby)

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage