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
Copier le code
1 2 3 4 class Log: start = models.DateTimeField() end = models.DateTimeField() level = models.TextField()
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'))