Порядок сортировки при загрузке связанных объектов с использованием selectinload в SQLAlchemy - PullRequest
0 голосов
/ 01 октября 2018

Есть ли способ указать порядок сортировки при загрузке связанных объектов с помощью параметра selectinload в SQLAlchemy?

Моя версия SQLAlchemy: 1.2.10 Моя версия Python: 3.6.6

1 Ответ

0 голосов
/ 01 октября 2018

Один из способов - указать порядок отношений по умолчанию в вашем отображаемом классе.В приведенном ниже примере запрос типа query(Example).options(selectinload(Example.related_items)) упорядочит загруженные связанные элементы по столбцу id.

from sqlalchemy import Column, Integer, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship

Base = declarative_base()

class Example(Base):
    __tablename__ = 'examples'
    id = Column(Integer, primary_key=True)
    related_items = relationship('RelatedItem', back_populates='example', order_by='RelatedItem.id')

class RelatedItem(Base):
    __tablename__ = 'related_items'
    id = Column(Integer, primary_key=True)
    example_id = Column(Integer, ForeignKey('examples.id'), nullable=False)
    example = relationship('Example', back_populates='related_items')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...