I think you have 1 form for 3 tables...

You should package a dummy app with the code above to help us helping
you...

As far as I understand you got the id only because you didn't set requires
in your model. Read the book about validators and search for "requires" in
the book.

Richard


On Tue, Jun 18, 2013 at 11:40 AM, <[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.
>
>
>

-- 

--- 
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