contracts = contracts_q.filter(and_(Contracts.nunitcode =='0', Contracts.ncont.like('%'+ncont+'%'),
Contracts.contract.like('%'+contract+'%')))
так вот, если в форму поиска в поле ncont вводим 1, или 10 - то все нормально, ищет.
А если 100 - кричит про String Overflow. Дескать, там 5 символов ('%100%') , а поле - всего 4.
Причем делает это SQLAlchemy. Прослойка - драйвер kinterbasdb этого не делает, пробовал в интерактивном режиме, пропускает по LIKE и 1, и 10, и 100, и 9999999999. Естественно, в крайнем случае ничего не находит, но не выпадает с исключением.
Зашибенно вообще… Неужели никто не сталкивался?