[pyar] Web2py query orderby con error de sqlite

Luciano Bovio omicronvt en gmail.com
Mar Jun 4 17:43:08 ART 2013


On 04/06/13 13:30, Mariano Reingart wrote:
> On Tue, Jun 4, 2013 at 10:48 AM, Luciano Bovio <omicronvt en gmail.com> wrote:
>> Tengo esta query en web2py :
>>
>> def saldos():
>>      suma = db.todos.importe.sum()
>>      results= db(db.todos).select(suma, db.todos.cuenta, db.cuentas.razon,
>> left=db.cuentas.on(db.todos.cuenta==db.cuentas.cuenta),
>> groupby=db.cuentas.razon, orderby=suma)
>>      return dict(results=results)
>>
>> Si uso la vista automática funciona OK
>>
>> Cuando quiero usar una vista html personalizada :
>>
>> <table>
>> <tr><th>CUENTA</th><th>RAZON</th><th>SALDO</th><th></th></tr>
>> {{for row in results:}}
>> <tr><td>{{=row.todos.cuenta}}</td><td>{{=row.cuentas.razon}}</td><td>{{=row.ss}}</td></tr>
>> {{pass}}
>>
>> Donde row.ss es el campo calculado
>> para lo cual cambio la query a :
>>
>> def saldos():
>>      suma = (db.todos.importe.sum()).with_alias("ss")
>>      results= db(db.todos).select(suma, db.todos.cuenta, db.cuentas.razon,
>> left=db.cuentas.on(db.todos.cuenta==db.cuentas.cuenta),
>> groupby=db.cuentas.razon, orderby=suma)
>>      return dict(results=results)
>>
>> Acá me salta un error :
>>
>> <class 'sqlite3.OperationalError'> near "AS": syntax error
>>
>> Si remuevo el orderby=suma de la query, anda OK
>>
>> Alguna idea ? Gracias
>
> Podes probar poniendo el with_alias solo en el select, para que no te
> lo tome el orderby:
>
> def saldos():
>      suma = (db.todos.importe.sum())
>      results= db(db.todos).select(suma.with_alias("ss"),
> db.todos.cuenta, db.cuentas.razon,
> left=db.cuentas.on(db.todos.cuenta==db.cuentas.cuenta),
> groupby=db.cuentas.razon, orderby=suma)
>
> Sds
>
> Mariano Reingart
> http://www.sistemasagiles.com.ar
> http://reingart.blogspot.com
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
>
  Gracias Mariano, funciona OK.

Saludos



More information about the pyar mailing list