Проблема с кириллицей в func.lower в SQLAlechemy

В кириллице func.lower обрабатывается в SQLAlchemy с ошибкой.

Пример кода:

category_in_db = db.session.query(Category).filter_by(user_id=user_id)\
    .filter(func.lower(Category.name, type_=String) == category_name.lower()).first()

Сравниваются две выражения. Допустим в БД находится значение СОн. Если оно именно такого плана, когда в БД сохранены заглавные буквы, то при сравнении СОн == сон. Они будут не равны друг другу.

Что делать? Заносить с маленькой буквы, если требуются сравнения на кириллице. Других вариантов не нашел. Можно конечно сделать супер-костыли и сравнить со всеми значениями, но это безумие.

Кстати, на сайте нет рекламы. У сайта нет цели самоокупаться, но если вам пригодилась информация можете задонатить мне на чашечку кофе в макдаке. Лайкнуть страницу или просто поблагодарить. Карма вам зачтется.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Проблема с кириллицей в func.lower в SQLAlechemy"