Search code examples
pythonweb2py

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


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)

Solution

  • 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))