【问题标题】:python sqlalchemy dynamic order_bypython sqlalchemy 动态 order_by
【发布时间】:2014-01-03 21:02:28
【问题描述】:

如何根据变量动态设置方向顺序,例如在 asc 或 desc 中用于 sqlite db 的 sqlalchemy 查询?

伪代码如下:

sort_order = "asc"

sql_session.query(ResultsDBHistory).order_by(sort_order(ResultsDBHistory.postsize)).limit(max_items_shown)

如果我尝试这个,它不会接受字符串。

【问题讨论】:

    标签: python sqlite sqlalchemy


    【解决方案1】:

    您可以访问.asc().desc() 方法作为ResultsDBHistory.postsize 上的属性:

    order = 'asc'
    column_sorted = getattr(ResultsDBHistory.postsize, order)()
    sql_session.query(ResultsDBHistory).order_by(column_sorted).limit(max_items_shown)
    

    因为列有 ascdesc 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      相关资源
      最近更新 更多