web2py: left-outer join not giving all records on left

51 Views Asked by At

Why is this code not returning groups with zero (0) count? (I am sure there are groups with zero count)

count = db.auth_membership.id.count()
groups = db().select(db.auth_membership.group_id, db.auth_group.role, count, 
    left=db.auth_group.on(db.auth_membership.group_id==db.auth_group.id),
    groupby=db.auth_membership.group_id)
1

There are 1 best solutions below

0
JeffP On BEST ANSWER

edited

I finally got it. Here's the query that worked:

query = db.auth_membership.group_id == db.auth_group.id
count = db.auth_membership.id.count()
groups = db(db.auth_group).select(db.auth_group.id, db.auth_group.role, db.auth_membership.id,
    count, 
    groupby=db.auth_group.id,
    left=db.auth_membership.on(query))