Como posso usar ORDER BY descending
em uma consulta SQLAlchemy como a seguir?
Esta consulta funciona, mas os retorna em ordem crescente:
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 :)
)
Se eu tentar:
.order_by(desc(model.Entry.amount))
então eu recebo: NameError: global name 'desc' is not defined
.
python
sqlalchemy
AP257
fonte
fonte
import
.Uso de @ jpmc26
fonte
someselect.order_by(desc(table1.mycol))
(Retirado dos documentos .) ... porque eu nem percebi na sua pergunta.Outra coisa que você pode fazer é:
Isso resultará em: ORDER BY name desc. A desvantagem aqui é o nome explícito da coluna usada em ordem por.
fonte
getattr(MyModelClass, column_string).desc()
se tiver uma string.qry.order_by(getattr(getattr(Song, sort_by), sort_dir)())
Você pode usar a
.desc()
função na sua consulta assimIsso ordenará pelo valor em ordem decrescente ou
Uso da função desc de SQLAlchemy
Para documentos oficiais, use o link ou verifique o snippet abaixo
fonte
Podes tentar:
.order_by(ClientTotal.id.desc())
fonte
Complementar na resposta do @Radu, como no SQL, você pode adicionar o nome da tabela no parâmetro se tiver muitas tabelas com o mesmo atributo.
fonte