Я хочу отфильтровать свои данные по значениям None или NULL в диалекте MySQL.
Это легко сделать:
Код: Выделить всё
db.query(models.Data).filter(models.Data.multiplier == None).all()
Ну, но я создаю своего рода расширенную функцию фильтрации и сортировки. Поэтому у меня есть список значений, по которым я хочу отфильтровать, например:
Отфильтровать мои данные тоже легко:
Код: Выделить всё
db.query(models.Data).filter(models.Data.multiplier.in_([1,2,5])).all()
Но теперь я также хочу разрешить значение None в моем списке:
Фильтрация:
Код: Выделить всё
db.query(models.Data).filter(models.Data.multiplier.in_([1,2,5,None])).all()
Однако все строки, имеющие значение NULL в столбце multiplier,
НЕ возвращаются. Почему использование None не работает с функцией in_? Как это решить?
Подробнее здесь:
https://stackoverflow.com/questions/678 ... -in-a-list