web-dev-qa-db-fra.com

Comment puis-je faire plusieurs "order_by" dans Flask-SQLAlchemy?

Disons que j'ai un modèle User avec les champs popularity et date_created. Je veux faire la requête suivante:

SELECT * FROM user ORDER BY popularity DESC, date_created DESC LIMIT 10

Dans SQLAlchemy, pour un seul, cela fonctionne:

User.query.order_by(User.popularity.desc()).limit(10).all()

Dois-je simplement ajouter un autre order_by()? Ou mettez à la fois popularity et date_created Dans ma order_by() actuelle?

Je veux que popularity ait la priorité sur date_created Pour la commande.

39
Noé Malzieu

Cela devrait fonctionner

User.query.order_by(User.popularity.desc(),User.date_created.desc()).limit(10).all()
71
codegeek