難しいことはありませんでした。
以下はMySQLのtruncateという切り捨ての関数を使う例です。
rs = Item.query.\ filter(Item.maker_id == param['maker_id']).\ filter(func.truncate(Item.gedai / Item.price, 1) < 0.6).all()
SQLAlchemyのfuncオブジェクトは空気が読めるナイスガイなので、funcの後にDB関数名をそのまま書いて実行することが出来ます。
上記の例ですと、「truncate(items.gedai / items.price, %s) < %s」というSQLに変換されて実行してくれます。
また、SQLAlchemyのORMapperが生成されたSQLを確認するには、下記のように行います。Queryオブジェクトを引数に取ります。
def print_sql(query): ''' debug用途でSQL文を吐き出す ''' from sqlalchemy.dialects import mysql print(query.statement.compile(dialect=mysql.dialect()))
I ♥ SQLAlchemy!! Yummy!!