On Friday, December 30, 2016 at 1:36:44 AM UTC-5, Jurgis Pralgauskis wrote:
>
> Hi, 
>
> grid allows virtual fields, 
>
> but they are calculated in Python layer, though sometimes this could be 
> done in DB layer.
>
> Could I pass Expression of fields in similar way?
>
>
> like I have in my previous question 
> <https://groups.google.com/forum/#!msg/web2py/f3HdtWviTys/kMHhXIPKDwAJ>
> db.item.total_price =  Field.Virtual('total_price', lambda row: 
> row.item.unit_price * row.item.quantity)
>
> Would be nice to have
> db.item.total_price =  Field.Expression('total_price', db.item.unit_price 
> * db.item.quantity)
>
> this could also be applied to aggregates (as I suspect they are not 
> supported in grid)
>

Feel free to submit a feature request on Github (in the PyDal repo). I 
suppose something like this could facilitate displaying aggregates in the 
grid as well as getting nice names for expressions in queries.

For now, one option is to create a view in your database and define a 
web2py DAL model that reflects the view. You can then pass that model to 
the grid and it will display whatever is in the database view. A similar 
but less efficient option is to do the query you want and load its results 
into a sqlite:memory database and use that with the grid.

Anthony 

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to