¿Cómo puedo usar ORDER BY descendingen una consulta SQLAlchemy como la siguiente?
Esta consulta funciona, pero los devuelve en orden ascendente:
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 lo intento:
.order_by(desc(model.Entry.amount))Entonces consigo: NameError: global name 'desc' is not defined.
                    
                        python
                                sqlalchemy
                                
                    
                    
                        AP257
fuente
                
                
            fuente

import.Uso de @ jpmc26
fuente
someselect.order_by(desc(table1.mycol))(Tomado de los documentos ) ... porque por mi parte no lo noté en su pregunta.Otra cosa que puedes hacer es:
Esto dará como resultado: ORDER BY name desc. La desventaja aquí es el nombre explícito de la columna utilizado en orden por.
fuente
getattr(MyModelClass, column_string).desc()si tiene una cadena.qry.order_by(getattr(getattr(Song, sort_by), sort_dir)())Puede usar la
.desc()función en su consulta así como asíEsto ordenará por cantidad en orden descendente o
Uso de la función desc de SQLAlchemy
Para documentos oficiales, utilice el enlace o consulte el fragmento a continuación
fuente
Puedes probar:
.order_by(ClientTotal.id.desc())fuente
Complementario en @Radu answer, Al igual que en SQL, puede agregar el nombre de la tabla en el parámetro si tiene muchas tablas con el mismo atributo.
fuente