devo filtrare un set di query da un valore dinamico (che può essere None): posso scrivere semplicemente:Django: filtraggio del queryset per 'field__isnull = True' o 'field = None'?
filtered_queryset = queryset.filter(field=value)
o devo verificare la presenza di Nessuno:
if value is None:
filtered_queryset = queryset.filter(field__isnull=True)
else:
filtered_queryset = queryset.filter(field=value)
fa il comportamento dipendono il particolare DBMS?
+1 Non sapevo che gestisse" Nessuno "del genere, molto utile da sapere. – Ngenator
Sto usando Django 1.7 ed entrambi i casi generano la stessa query: In [19]: str (User.objects.filter (username__isnull = True) .query) == str (User.objects.filter (username = Nessuno) .query) Out [19]: True Quindi, suppongo che sia possibile utilizzare entrambi. – Akhorus