I would suggest that when a user register you check if they have "friendly sounding" first name and flag it, then search using the flag.
On Tuesday, 27 November 2012 09:48:48 UTC-6, Wes Hall wrote: > > 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? > > > --

