Flask - SQLalchemy 表达式

官方文档:Column Elements and Expressions — SQLAlchemy 1.3 Documentation






and_

作用相当于 SQL 的 AND 子句。

from sqlalchemy import and_
User.query.filter(and_(User.username == 'tom', User.age == 18))

or_

作用相当于 SQL 的 OR 子句。

from sqlalchemy import or_
User.query.filter(or_(User.username == 'lucy', User.username == 20))






asc

作用于升序排序。

from sqlalchemy import asc
User.query.order_by(User.age.asc())

另一种写法:

User.query.order_by(asc(User.age))

desc

作用于降序排序。

from sqlalchemy import desc
User.query.order_by(User.age.desc())

另一种写法:

User.query.order_by(desc(User.age))






between

作用相当于 SQL 的 BETWEEN 子句。

from sqlalchemy import between
User.query.filter(between(User.age, 18, 20))






case

相当于 SQL 的 CASE 子句,关于 CASE 的具体用法参见之前的 文章。

from sqlalchemy import case

User.query.order_by(case([
    (User.level == '甲', 1),
    (User.level == '乙', 2),
    (User.level == '丙', 3),
    (User.level == '丁', 4),
]))

你可能感兴趣的:(Flask - SQLalchemy 表达式)