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.

