[web2py] Re: Creating a sums value from a column on an SQLFORM.grid
I'm trying this code below & i'm getting * 'Expression' object has no attribute 'tablename' * ERROR*, *whats wrong with my code? or What am i missing?? *def payments():payments_sum_field = db.payments.amount.sum().with_alias('total') grid_table=SQLFORM.grid(db.payments, fields=[db.payments.client, db.payments.amount, db.payments.recorded,db.payments.recorded_on, payments_sum_field])return locals()* On Thursday, April 7, 2022 at 2:26:48 PM UTC+2 Jim S wrote: > It looks like there is support for groupby in SQLFORM.grid which is what > you'd need to build the proper SQL statement. > > I haven't tried this with web2py. If I were, I'd try adding a groupby > clause and a list of fields that include your sum field. Something like > this (not tested) > > payments_sum_field = db.payments.amount.sum() > SQLFORM.grid(db.payments, fields=[db.payments.field_1, > db.payments.field_2, payments_sum_field], groupby=[db.payments.field_1, > db.payments.field_2]) > > > FWIW - I just submitted a PR for py4web to do exactly what you're talking > about. Looking at the code in web2py for groupby I see that I can improve > what I'd submitted so far. > > -Jim > > On Thursday, April 7, 2022 at 3:29:37 AM UTC-5 mostwanted wrote: > >> Hi guys, I was wondering if i could create a sums column on an >> SQLFORM.grid so that every search that's made produces a sums value, >> something like this: >> >> >> >> >> >> >> *def payments():grid = SQLFORM.grid(db.payments, args=[db.payments]) >> if grid.process().accepted:query=("#Search queries of the >> SQLFORMgrid")amount = >> db(query).select((db.payments.amount).sum().with_alias('total'))return >> locals()* >> >> Whats possible and whats not? >> >> Regards; >> >> -- 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 web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/1e60c2a0-c3d8-4109-96de-51236f41cc26n%40googlegroups.com.
[web2py] Re: Creating a sums value from a column on an SQLFORM.grid
It looks like there is support for groupby in SQLFORM.grid which is what you'd need to build the proper SQL statement. I haven't tried this with web2py. If I were, I'd try adding a groupby clause and a list of fields that include your sum field. Something like this (not tested) payments_sum_field = db.payments.amount.sum() SQLFORM.grid(db.payments, fields=[db.payments.field_1, db.payments.field_2, payments_sum_field], groupby=[db.payments.field_1, db.payments.field_2]) FWIW - I just submitted a PR for py4web to do exactly what you're talking about. Looking at the code in web2py for groupby I see that I can improve what I'd submitted so far. -Jim On Thursday, April 7, 2022 at 3:29:37 AM UTC-5 mostwanted wrote: > Hi guys, I was wondering if i could create a sums column on an > SQLFORM.grid so that every search that's made produces a sums value, > something like this: > > > > > > > *def payments():grid = SQLFORM.grid(db.payments, args=[db.payments]) > if grid.process().accepted:query=("#Search queries of the > SQLFORMgrid")amount = > db(query).select((db.payments.amount).sum().with_alias('total'))return > locals()* > > Whats possible and whats not? > > Regards; > > -- 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 web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/2e85caf0-dfd7-4e2a-ba66-aa65ad65d1ben%40googlegroups.com.
[web2py] Creating a sums value from a column on an SQLFORM.grid
Hi guys, I was wondering if i could create a sums column on an SQLFORM.grid so that every search that's made produces a sums value, something like this: *def payments():grid = SQLFORM.grid(db.payments, args=[db.payments]) if grid.process().accepted:query=("#Search queries of the SQLFORMgrid")amount = db(query).select((db.payments.amount).sum().with_alias('total'))return locals()* Whats possible and whats not? Regards; -- 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 web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/e3dfb0fc-7b73-4564-bb14-f3d523832438n%40googlegroups.com.