I want to select teachers that have taught for more than one year, are getting paid and have a friendly sounding first name. The friendly sounding names are stored in a table, along with their expected position in the name.
Currently I'm using this: teacher_query = db.teachers.years_taught!=0 teacher_query &= db.teachers.status=='Paid' whitelisting = db.teachers.first_name=='zzzzzzzzzzz' friendly = db(db.friendly_names).select(db.friendly_names.name,db.friendly_names.position) for x in friendly: if x['position'] == 'Leading': whitelisting |= db.teachers.first_name.startswith(x['name']) else: whitelisting |= db.teachers.first_name.contains(x['name']) teacher_query &= whitelisting Is there a better way to get the whitelist sub-query started? Should I do a counter inside the for loop and initialize 'whitelisting' if it's the first friendly name, or is there a method I'm missing from W2P? --