Краткая версия: Почему Model.objects.exclude (..__ in = [None]) исключает каждый объект?Понимание поиска поля запроса Django в
Я столкнулся с интересным поведением поиска в поле django, которое я не понимаю. Скажем, у меня есть 21 объектов данной модели:
>>> Model.objects.count()
21
Если исключить данный секретный ключ непосредственно или с in
поле поиска я получаю ожидаемое поведение:
>>> Model.objects.exclude(pk=1).count()
20
>>> Model.objects.exclude(pk__in=[1]).count()
20
Если исключить закрытый ключ стоимости None
я получить ожидаемый результат:
>>> Model.objects.exclude(pk=None).count()
21
Однако, если я не сделать то же самое с поиском in
поля я получаю ничего назад:
>>> Model.objects.exclude(pk__in=[None]).count()
0
Почему это так?
Хорошо. Скорее всего, дело. Не знаю о 'connection.queries' –