Jak mogę użyć ORDER BY descending
w zapytaniu SQLAlchemy w następujący sposób?
To zapytanie działa, ale zwraca je w kolejności rosnącej:
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 :)
)
Jeśli spróbuję:
.order_by(desc(model.Entry.amount))
Następnie pojawia się: NameError: global name 'desc' is not defined
.
python
sqlalchemy
AP257
źródło
źródło
import
.Użycie od @ jpmc26
źródło
someselect.order_by(desc(table1.mycol))
(wzięte z dokumentacji .) ... ponieważ ja nie zauważyłem tego w twoim pytaniu.Inną rzeczą, którą możesz zrobić, jest:
Spowoduje to: ORDER BY name desc. Wadą jest tutaj jawna nazwa kolumny używana w kolejności przez.
źródło
getattr(MyModelClass, column_string).desc()
jeśli masz ciąg.qry.order_by(getattr(getattr(Song, sort_by), sort_dir)())
Możesz użyć
.desc()
funkcji w zapytaniu tak jak toTo uporządkuje według kwoty w kolejności malejącej lub
Korzystanie z funkcji desc SQLAlchemy
W przypadku oficjalnych dokumentów skorzystaj z linku lub sprawdź poniższy fragment
źródło
Możesz spróbować:
.order_by(ClientTotal.id.desc())
źródło
Uzupełniające w odpowiedzi @Radu, Podobnie jak w SQL, możesz dodać nazwę tabeli do parametru, jeśli masz wiele tabel z tym samym atrybutem.
źródło