LINKS JOIN Django ORM
Abfragen nach Abteilungen ohne Freiwillige, die ORM verwenden
In der Im Django Object-Relational Mapping (ORM)-Framework können Sie die LEFT JOIN-Operation verwenden, um Daten abzurufen mehrere Tabellen, auch wenn es in einer der Tabellen keine passenden Zeilen gibt.
Um nach Abteilungen zu suchen, denen keine Freiwilligen zugewiesen sind, können Sie den folgenden Ansatz verwenden:
from django.db.models import OuterRef, Subquery qs = Department.objects.filter( departmentvolunteer__isnull=OuterRef('pk') ).values_list('name', flat=True)
Erklärung:
Mit diesem Ansatz können Sie mehrwertige Beziehungen zwischen Modellen aufspannen und Daten abrufen, selbst wenn es in einem davon keine Übereinstimmungen gibt die Tische.
Das obige ist der detaillierte Inhalt vonWie finde ich mit Djangos ORM LEFT JOIN Abteilungen ohne Freiwillige?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!