Comment puis-je utiliser ORDER BY descending
dans une requête SQLAlchemy comme la suivante?
Cette requête fonctionne, mais les renvoie dans l'ordre croissant:
query = (model.Session.query(model.Entry)
.join(model.ClassificationItem)
.join(model.EnumerationValue)
.filter_by(id=c.row.id)
.order_by(model.Entry.amount) # This row :)
)
Si j'essaye:
.order_by(desc(model.Entry.amount))
je reçois: NameError: global name 'desc' is not defined
.
python
sqlalchemy
AP257
la source
la source
import
.Utilisation de @ jpmc26
la source
someselect.order_by(desc(table1.mycol))
(Tiré de la documentation .) ... parce que je ne l'ai pas remarqué dans votre question.Une autre chose que vous pourriez faire est:
Cela se traduira par: ORDER BY nom desc. L'inconvénient ici est le nom de colonne explicite utilisé dans l'ordre par.
la source
getattr(MyModelClass, column_string).desc()
si vous avez une chaîne.qry.order_by(getattr(getattr(Song, sort_by), sort_dir)())
Vous pouvez utiliser la
.desc()
fonction dans votre requête comme ceciCette commande se fera par montant décroissant ou
Utilisation de la fonction desc de SQLAlchemy
Pour les documents officiels, veuillez utiliser le lien ou consulter l'extrait ci-dessous
la source
Tu peux essayer:
.order_by(ClientTotal.id.desc())
la source
Complémentaire à la réponse @Radu, Comme en SQL, vous pouvez ajouter le nom de la table dans le paramètre si vous avez plusieurs tables avec le même attribut.
la source