Sorry, my fault, SQLFORM.factory generates forms based on tables, but this
does not make the inserts automatically.

if you want to use that to include extra fields in a form it is a good
choice, but you'll need to implement the 'inserts' for the table.

orm=SQLFORM 
<http://web2py.com/book/default/docstring/SQLFORM>.factory(db.client,Field('extra_field'))
    if form.accepts(request
<http://web2py.com/book/default/docstring/request>.vars):
        id = db.client.insert(**db.client._filter_fields(form.vars))
        form.vars.client=id
        response
<http://web2py.com/book/default/docstring/response>.flash='Thanks for
filling the form'
    return dict(form=form)


The advantage here is that you can set validators to the extra fields.

*Look this example in a shell:*

>>> form = SQLFORM.factory(db.category,Field('new_field'))
>>> print form
<form action="" enctype="multipart/form-data" method="post"><table><tr
id="no_table_name__row"><td class="w2p_fl"><label for="no_table_name"
id="no_table_name__label">Name: </label></td><td class="w2p_fw"><input
class="string" id="no_table_name" name="name" type="text" value=""
/></td><td class="w2p_fc"></td></tr><tr id="no_table_new_field__row"><td
class="w2p_fl"><label for="no_table_new_field"
id="no_table_new_field__label">New Field: </label></td><td class="w2p_fw"><i
*nput class="string" id="no_table_new_field" name="new_field" type="text"
value="" />*</td><td class="w2p_fc"></td></tr><tr
id="submit_record__row"><td class="w2p_fl"></td><td class="w2p_fw"><input
type="submit" value="Submit" /></td><td
class="w2p_fc"></td></tr></table></form>
>>>




--
Bruno Rocha
http://about.me/rochacbruno/bio

Reply via email to