在SQLAlchemy核心中使用“ORDER BY foo DESC”执行select语句的正确方法是什么? (核心,而不是ORM!)
我目前直接在order_by
中包含方向:
mytable.select(order_by='name DESC')
......它有效(虽然我不喜欢它,因为它有点“hackish”),但SQLAlchemy给了我以下警告:
SAWarning:无法解析标签引用'name DESC';转换为 text()(此警告可在10次出现后被抑制)
util.ellipses_string(element.element))
(我在the doc)
中找不到任何相关信息答案 0 :(得分:13)
from sqlalchemy import desc
stmt = select([users_table]).order_by(desc(users_table.c.name))
答案 1 :(得分:1)
或根据the same documentation link:
stmt = users_table.select().order_by(users_table.c.name.desc())
答案 2 :(得分:0)
按asc / desc排序列
desc = " " + asc_desc
order_by = re.sub('[^0-9a-zA-Z]+', '', order_by) + desc
query = query.order_by(text(order_by))
return query