0 Tage Serie
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
python
1
2
3
4
5
from django.db.models import Q
from .models import Product
# Find products that are either out of stock OR priced under 10
items = 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.