Использовать переменную в аналогичном операторе sqlalchemy

Я пытаюсь запросить свой database, чтобы найти все элементы, соответствующие моей переменной received_input.

На данный момент у меня есть:

session.query(VenueItem).filter(VenueItem.venue_item_name.ilike("%received_input%")).all()

Элементы в моем database могут содержать символы uppercase и lowercase. Мне нужно убедиться, что поиск case-insensitive ("ApPle" вернется из input из "apple").

Я не знаю синтаксиса для указания variable в ilike, а не string.


person Community    schedule 16.05.2015    source источник


Ответы (1)


Замените "%received_input%" на

'%{}%'.format(received_input)

На python 3.6+ это можно записать более лаконично, используя f-строки:

Пример:

f'%{received_input}%'
person Haleemur Ali    schedule 16.05.2015
comment
спасибо, обновлю ответ, чтобы также показать, как это сделать с f-строками. - person Haleemur Ali; 29.05.2018