How to add another field to select clause?

26 views
Skip to first unread message

Alex Glaros

unread,
Nov 27, 2020, 2:18:00 AM11/27/20
to web2py-users
How to add db.role_member.id within select clause as highlighted below?

If I leave it out, it runs fine. If I add it, I get error: 
class 'psycopg2.errors.GroupingError'> column "role_member.id" must appear in the GROUP BY

and if I make it appear in the group by section as suggested by the error message, I get error:
SyntaxError: non-keyword arg after keyword arg

Here is the code:

    distinctCount = db.object_super_object.super_object_fk.count().with_alias('distinctCount')
    
    distinctSet = db((db.role_member_status_instance.role_member_fk == db.role_member.id) & (db.role_member.role_fk == specificRoleID) & (db.role_member.object_super_object_fk == db.object_super_object.id) & (db.role_member.is_active == True) &  (db.role_member.member_super_object_fk == db.super_object.id) & (specificOrganizationID == db.object_super_object.role_owner_organization_fk)).select(db.role_member.member_super_object_fk, db.role_member.id, distinctCount, groupby = db.role_member.member_super_object_fk, db.role_member.id)

Alex Glaros

unread,
Nov 27, 2020, 3:01:17 AM11/27/20
to web2py-users
using Postgres 

Jim S

unread,
Nov 27, 2020, 2:18:32 PM11/27/20
to web2py-users
If your groupby is a list of fields then it needs list brackers [ ] around it.

Can you add that and report back?

-Jim

Alex Glaros

unread,
Nov 28, 2020, 12:44:41 PM11/28/20
to web2py-users
It worked Jim.   Thanks!

Jim S

unread,
Nov 28, 2020, 8:08:56 PM11/28/20
to web2py-users
Glad to hear you got it working.

-Jim
Reply all
Reply to author
Forward
0 new messages