Nach langem rumprobieren klappt es halbwegs, allerdings funktioniert das dynamische like noch nicht.
z.B. funktioniert: (Wenn man die genaue Nummer kennt)
Code: Alles auswählen
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
engine = create_engine('mysql://login:passwd@localhost/datenbank')
Session = sessionmaker(bind=engine)
session = Session()
session.query(DB_Struck).filter(DB_Struck.csv_nr.match(form.csv.data)).all()
auch ein 'hardcodet like klappt.
Code: Alles auswählen
session.query(DB_Struck).filter(DB_Struck.csv_nr.like('%1234567890%')).all()
Ich hätte allerdings gerne etwas mehr flexibilität
sowas in der Art wie
Code: Alles auswählen
session.query(DB_Struck).filter(DB_Struck.csv_nr.like('%%s%' , (form.csv.data))).all()
Python hat allerdings was dagegen, quitiert wird das ganze so:
raise errorclass, errorvalue
OperationalError: (OperationalError) (1210, 'Incorrect arguments to ESCAPE') "SELECT data.data_id AS data_data_id, data.csv AS data_csv \nFROM data \nWHERE data.csv LIKE %s ESCAPE '1234'" ('%%s%',)
Wenn da jetzt noch jemand ein Tipp hätte ...
Edit:
Ich = Manchmal etwas doof: check
Code: Alles auswählen
session.query(DB_Struck).filter(DB_Struck.csv_nr.like('%'+form.csv.data+'%')).all()
Zum Glück hab ich es selbst gemerkt bevor es noch peinlicher wird