Votre navigateur n'est pas à jour !

Merci de mettre à jour votre navigateur pour utiliser mon blog. Mettre à jour mon navigateur maintenant

×

Django -Utiliser F() pour filter une requête Django à partir d'une colonne

Date de publication 22 mars 2022
Lorsque vous utilisez l'ORM de Django pour manipuler vos données vous utilisez
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'))
blog comments powered by Disqus