muszę filtrować queryset przez wartość dynamicznej (które mogą być None): może po prostu napisać:Django: filtrowanie zapytań według "field__isnull = True" lub "field = None"?
filtered_queryset = queryset.filter(field=value)
czy mam sprawdzić None:
if value is None:
filtered_queryset = queryset.filter(field__isnull=True)
else:
filtered_queryset = queryset.filter(field=value)
Czy zachowanie zależy od konkretny DBMS?
+1 Nie wiedziałem, że jest obsługiwane" Brak "w tym stylu, bardzo przydatne. – Ngenator
Używam Django 1.7 i oba przypadki generują to samo zapytanie: W [19]: str (User.objects.filter (nazwa_użytkownika__isnull = True) .query) == str (User.objects.filter (nazwa użytkownika = brak) .query) Outlet [19]: True Tak więc, przypuszczam, że możesz użyć albo. – Akhorus