Django -Utiliser F() pour filter une requête Django à partir d'une colonne
22 mars 2022
Lorsque vous utilisez l'ORM de Django pour manipuler vos données vous utilisez
La méthode filter() permet de retourner les enregistrements liés aux critères présent dans les paramètres.
Le nom du paramètre est l'attribut de l'objet et la valeur correspond au contenu à rechercher
Mais lorsque l'on souhaite filtrer notre recherche avec une autre colonne, comment procéder ?
Django met à disposition la fonction F() qui permet de faire référence à la propriété de notre modèle
Voilà un exemple d'utilisation pour extraire des logs dont la date de fin est inférieure à la date de début (logique c'est pour la démo)
blog comments powered by Disqus
Log.objects.filter(level=DEBUG)
La méthode filter() permet de retourner les enregistrements liés aux critères présent dans les paramètres.
Le nom du paramètre est l'attribut de l'objet et la valeur correspond au contenu à rechercher
Mais lorsque l'on souhaite filtrer notre recherche avec une autre colonne, comment procéder ?
Django met à disposition la fonction F() qui permet de faire référence à la propriété de notre modèle
from django.db.models import F
Voilà un exemple d'utilisation pour extraire des logs dont la date de fin est inférieure à la date de début (logique c'est pour la démo)
Log.objects.filter(start__lt= F('end'))