Как я могу вернуть отсортированный список связанных записей? - PullRequest
0 голосов
/ 10 мая 2019

У меня есть следующие классы SQLAlchemy:

class Survey(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    questions = db.relationship('Question', backref='survey', lazy='dynamic')

class Questions(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    survey_id = db.Column(db.Integer, db.ForeignKey('survey.id'))
    bank_id = db.Column(db.Integer, db.ForeignKey('bank.id'))

class Bank(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    order = db.Column(db.Integer, nullable=False)
    questions = db.relationship('Question', backref='bank', lazy='dynamic')

Таким образом, у опросов и банков есть вопросы, и порядок вопросов зависит от родительского банка вопроса.

При наличии опроса, как можноЯ получаю список вопросов в порядке возрастания по полю заказа?Я могу получить вопросы достаточно легко, и, если необходимо, я могу отсортировать их после этого, но мне интересно, есть ли более прямой путь.

1 Ответ

2 голосов
/ 10 мая 2019

Я не уверен в поведении данной вторичной таблицы, но вы можете передать order_by в relationship(), например:

 questions = db.relationship('Question', order_by='asc(Question.bank.order)' ... )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...