sqlalchemy orderby
时间: 2023-09-01 11:11:04 浏览: 49
在 SQLAlchemy 中,可以使用 `.order_by()` 方法对查询结果进行。
例如,假设有一个 `User` 模型类,其中有 `name` 和 `age` 两个属性,可以按照 `name` 属性进行升序排序:
```python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
users = session.query(User).order_by(User.name.asc()).all()
```
上述代码中,`order_by()` 方法的参数为 `User.name.asc()`,表示按照 `name` 属性进行升序排序。如果要进行降序排序,可以使用 `User.name.desc()` 方法:
```python
users = session.query(User).order_by(User.name.desc()).all()
```
也可以按照多个属性进行排序,例如先按照 `age` 属性进行升序排序,再按照 `name` 属性进行升序排序:
```python
users = session.query(User).order_by(User.age.asc(), User.name.asc()).all()
```