Formulario HTML pasando valores a web2py

Actualmente estoy trabajando en una página donde un usuario seleccionaría todos los campos apropiados en un formulario de búsqueda (html) que luego pasaría los valores a la consulta web2py.

Estoy teniendo un problema con la escritura de esta consulta? Me pregunto cómo pasar los valores del formulario HTML a la consulta web2py para que se ejecute en la base de datos.

Cuando envíe un formulario a web2py (a través de GET o POST), todas las variables de formulario estarán disponibles en request.vars (para más información, consulte las secciones del libro sobre Despacho y el objeto de request , así como el capítulo sobre formularios ).

Entonces, podrías hacer algo como:

 def search(): rows = None if request.vars: query = reduce(lambda a, b: (a & b), (db.mytable[var] == request.vars[var] for var in request.vars)) rows = db(query).select() return dict(rows=rows) 

Tenga en cuenta que la reduce() con la expresión del generador es equivalente a escribir una consulta como esta:

 (db.mytable.field1 == request.vars.field1) & \ (db.mytable.field2 == request.vars.field2) & \ ... (db.mytable.fieldN == request.vars.fieldN)