LEFT JOIN Django ORM
Requête de départements sans bénévoles utilisant ORM
Dans le Django Object-Relational Mapping (ORM), vous pouvez utiliser l'opération LEFT JOIN pour récupérer des données de plusieurs tables, même s'il n'y a aucune ligne correspondante dans l'une des tables.
Pour rechercher des services auxquels aucun bénévole n'est affecté, vous pouvez utiliser l'approche suivante :
from django.db.models import OuterRef, Subquery qs = Department.objects.filter( departmentvolunteer__isnull=OuterRef('pk') ).values_list('name', flat=True)
Explication :
Cette approche vous permet d'étendre les relations à valeurs multiples entre les modèles et de récupérer des données même lorsqu'il n'y a aucune correspondance dans l'un des les tables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!