Ich habe eine Datenbank und versuche Informationen mit der Funktion MID() abzufragen. Im normalen SQL würde ich MID verwenden wie (von W3 Beispiel Website) ..Python SQLALCHEMY Abfrage mit MID()
SELECT MID(City,1,4) AS ShortCity
FROM Customers;
Konvertieren dieser zu sqlalchemy ein bisschen eine Herausforderung gewesen. Ich bin in der Lage, die Abfrage mit Paginierung durchzuführen, aber nicht Mitte verwenden. Bisher habe ich Original-Abfrage, die funktioniert ..
links = Item.query.filter(Item.title.like('%' +search_term +'%')).paginate(page, 10, True)
Converting es Arbeit tut ..
links = Item.query.filter(func.mid(Item.title.like, 1, 3)('%' +search_term + '%')).paginate(page, 10, True)
TypeError: 'Function' object is not callable
Ich möchte nur xy Menge von Zeichen aus dem Titel (String-Spalte)
Ich kann sehen, dass Sie ein Komma ',' fehlt, dh 'func.mid (Item.title.like, 1, 3) ('%' + search_term + '%')' sollte 'func sein .mid (Item.title.like, 1, 3), ('%' + search_term + '%') '. Sehen Sie, wenn das das Problem löst, können andere Dinge mit diesem Code nicht stimmen, aber typeerror wird gefunden, weil das von func.mid (...) zurückgegebene Objekt nicht aufrufbar ist und '('%' + search_term + '%') 'wird dann als Funktionsargument behandelt –
gibt diff error .. – Anekdotin
OperationalError: (sqlite3.OperationalError) in der Nähe von"% ": Syntaxfehler [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_aktualisiert, items.click_count AS items_click_count \ nFROM-Einträge \ nWHIER mid (?,?,?) UND% tor% \ n LIMIT? OFFSET? '] [Parameter: (>, 1, 3, 10, 0)] –
Anekdotin