I don't believe you can use SQLFORM in that way,  you'll have to create 
your own form - maybe try SQLFORM.factory.  Better still,  try 
SQLFORM.smartgrid which could allow you a very flexible way to manage all 
three tables.


On Tuesday, 18 June 2013 16:40:40 UTC+1, [email protected] wrote:
>
> I have one page where I want to show 3 forms. I have a main table with 2 
> tables that are related to it. 
>
> So in my models file I have:
>
> db.define_table(
>     'dependents',
>     Field('dep_id',db.patient),
>     Field('first_name'),
>     Field('middle_name'),
>     Field('last_name'),
>     Field('relationship', 'text'))
>     
> db.define_table(
>     'emergencycontacts',
>     Field('ec_id',db.patient),
>     Field('first_name'),
>     Field('middle_name'),
>     Field('last_name'),
>     Field('address1'),
>     Field('address2'),
>     Field('city'),
>     Field('state'),
>     Field('zipcode'),
>     Field('country'),
>     Field('phone'),
>     Field('relationship'))
>
> And db.patient is another table.
>
> So in my form I have:
>
> def register_patient():
>     form=SQLFORM.factory(db.patient,db.emergencycontacts, db.dependents)
>     if form.process().accepted:
>         id = db.patient.insert(**db.patient._filter_fields(form.vars))
>         form.vars.patient=id
>         id = 
> db.emergencycontacts.insert(**db.emergencycontacts._filter_fields(form.vars))
>         response.flash='Thanks for filling the form'
>         id = 
> db.dependents.insert(**db.dependents._filter_fields(form.vars))
>         form.vars.dependents=id
>         # and get a list of all persons
>     records = 
> SQLTABLE(db().select(db.patient.ALL),headers='fieldname:capitalize')
>
>     return dict(form=form, records=records)
>
> So the form displays correctly but I was expecting that the other fields 
> for dependents and emergencycontacts would be there for input as well but I 
> only get the id fields showing up for input.
>
> Am I doing what I want to do incorrectly?
>
> Thanks,
>
> Tom
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to