Фильтрация пустых или пустых имен в наборе запросов
У меня есть имя, фамилия и псевдоним (по желанию), что мне нужно искать. Итак, мне нужен запрос, чтобы дать мне все имена, которые имеют набор псевдоним.
только если бы я мог сделать:
Name.objects.filter(alias!="")
Итак, что же эквивалентно вышесказанному?
5 ответов:
вы могли бы сделать это:
Name.objects.exclude(alias__isnull=True)
Если вам нужно исключить нулевые значения и пустые строки, предпочтительный способ сделать это-связать вместе такие условия:
Name.objects.exclude(alias__isnull=True).exclude(alias__exact='')
сцепление этих методов в основном проверяет каждое условие независимо: в приведенном выше примере, мы исключаем строки, где
alias
либо null или пустая строка, так что вы получите всеName
объекты, которые имеют not-null, not-empty
во-первых, документы Django настоятельно рекомендуют не использовать нулевые значения для строковых полей, таких как CharField или TextField. Прочитайте документацию для объяснения:
https://docs.djangoproject.com/en/dev/ref/models/fields/#null
решение: Я думаю,вы также можете объединить методы в QuerySets. Попробуйте это:
Name.objects.exclude(alias__isnull=True).exclude(alias="")
Это должно дать вам набор, который вы ищете.