Usando um rótulo em uma cláusula having em sqlachemy
Estou tentando usar um rótulo em uma cláusula having com sqlalchemy, mas estou tendo problemas para fazê-lo funcionar. Estou tentando algo assim:
qry = db.session.query(
Foo.id,
Foo.name,
(Foo.max_stuff - func.sum(Bar.stuff)).label('rstuff')
).join(Bar) \
.group_by(Foo.id) \
.having('rstuff' >= "some_data_passed_in_by_customer")
for res in qry.all():
print res
Mas obtenha o erro:
sqlalchemy.exc.ArgumentError: having() argument must be of type sqlalchemy.sql.ClauseElement or string
Se eu tentar alterar a instrução having para:
.having('rstuff >= "some_data_passed_in_by_customer"')
Então parece funcionar bem, mas acho que isso levaria a uma vulnerabilidade de injeção de sql. Eu poderia fazer isso via sql bruto, mas gostaria de evitar isso se pudesse. Alguma ideia?