How do I select literal values in an sqlalchemy query?

前端 未结 2 1611
清歌不尽
清歌不尽 2020-11-27 06:16

I have a query which looks like this:

query = session.query(Item) \\
    .filter(Item.company_id == company_id) \\
    .order_by(Item.id)

I

2条回答
  •  时光取名叫无心
    2020-11-27 06:46

    As mentioned in the comments of the accepted answer there's a "shorthand" for bindparam() that alleviates the need to come up with a name for the literal bindparam, literal():

    Return a literal clause, bound to a bind parameter.

    So one does not have to write

    session.query(Item, bindparam("zero", 0).label("subscribed"))
    

    but just

    session.query(Item, literal(0).label("subscribed"))
    

    without having to worry about quoting etc., if passing strings or such.

提交回复
热议问题