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

Admin SQLAlchemy Erorrs

В кириллице 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()

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

Такая проблема может быть из-за того, что база данных создана без учета кириллицы.

Один из вариантов сохранять все в нижнем регистре. Другой – починить кодировку в БД.

Как правильно создать таблицу с нужно кодировкой в PostgreSQL.

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

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

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