Ich habe einen queryset durch einen dynamischen Wert filtern (die keine sein kann): kann ich einfach schreiben:Django: Filtern von Abfragegruppen nach 'field__isnull = True' oder 'field = None'?
filtered_queryset = queryset.filter(field=value)
oder soll ich prüfen None:
if value is None:
filtered_queryset = queryset.filter(field__isnull=True)
else:
filtered_queryset = queryset.filter(field=value)
Hat das Verhalten davon ab, das bestimmte DBMS?
+1 Ich war mir nicht bewusst, dass es" None "so behandelt, sehr nützlich zu wissen. – Ngenator
Ich benutze Django 1.7 und beide Fälle erzeugen die gleiche Abfrage: In [19]: str (Benutzer.objects.filter (username__isnull = True) .query) == str (User.objects.filter (username = None) .query) Out [19]: True Also, ich nehme an, Sie können beide verwenden. – Akhorus