python / beginner
Snippet
Filtern mit ODER mittels Q-Objekten
Standard-Django-Filter verwenden eine UND-Logik. Q-Objekte ermöglichen die Verwendung des | (ODER)-Operators, um komplexe Abfragen zu erstellen, die mehrere Bedingungen prüfen.
snippet.py
1
2
3
4
5
from django.db.models import Qfrom .models import Product# Find products that are either out of stock OR priced under 10items = Product.objects.filter(Q(stock=0) | Q(price__lt=10))
django
Erklärung
1
from django.db.models import Q
Importiert die Q-Klasse, die für komplexe Abfragen benötigt wird.
2
Q(stock=0) | Q(price__lt=10)
Verwendet das Pipe-Symbol, um eine ODER-Bedingung zwischen zwei Filtern zu definieren.