У меня есть база данных и я пытаюсь запросить информацию с помощью функции MID(). В обычном SQL я хотел бы использовать MID, такие как (С W3 пример сайта) ..Python SQLALCHEMY-запрос с использованием MID()
SELECT MID(City,1,4) AS ShortCity
FROM Customers;
Преобразование это SQLAlchemy было немного сложной задачей. Я могу выполнить запрос с разбивкой по страницам, но не используя середину. До сих пор я Оригинальный запрос, который работает ..
links = Item.query.filter(Item.title.like('%' +search_term +'%')).paginate(page, 10, True)
Преобразование это не работает ..
links = Item.query.filter(func.mid(Item.title.like, 1, 3)('%' +search_term + '%')).paginate(page, 10, True)
TypeError: 'Function' object is not callable
Я хочу только ху количество символов из заголовка (строка столбца)
Я вижу, что вам не хватает запятой ',', то есть 'func.mid (Item.title.like, 1, 3) ('%' + search_term + '%')' должно быть 'func .mid (Item.title.like, 1, 3), ('%' + search_term + '%') '. см., если это решает проблему, могут быть другие вещи не так с этим кодом, но typeerror встречается, потому что объект, возвращенный из func.mid (...), не может быть вызван, и '('%' + search_term + '%') 'затем обрабатывается как аргумент функции –
дает ошибку diff .. – Anekdotin
OperationalError: (sqlite3.OperationalError) рядом с«% »: синтаксическая ошибка [SQL: u'SELECT items.id AS items_id, items.title AS items_title, items.link AS items_link, items.description AS items_description, items.member_since AS items_member_since, items.last_updated AS items_last_updated, items.click_count AS items_click_count \ nFROM items \ nWHERE mid (?,?,?) AND% tor% \ n LIMIT? OFFSET? '] [Параметры: (<связанный метод InstrumentedAttribute.like of>, 1, 3, 10, 0)] –
Anekdotin