what you say could be implemented but it would not be general enough to satisfy every user. 1) why be limited to two tables 2) is this a one-to-one or one-to-many? 3) in which order the fields should be listed 4) what if the two tables have fiends with the same name ...
there are many issue that make this a non-trivial problem. Eventually it will be done but requires some work. Massimo On Apr 4, 9:15 am, "[email protected]" <[email protected]> wrote: > Hi All, > > I must be missing something, I've read the book's chapter on SQLFORM > and the bit about "Links to referencing records" but I still can't get > my head round how to make a compound form, i.e. one with fields from > multiple tables. Here's are my tables... > > db.define_table('CONTACTS', > SQLField('contact_name','string',length=255, required=True), > SQLField('date_added','datetime', required=True) > ) > db.CONTACTS.contact_name.requires=[ IS_NOT_EMPTY(), IS_LENGTH > (255,error_message=T('name too long, max(255)')) ] > db.CONTACTS.date_added.requires=[ IS_DATETIME() ] > > db.define_table('EMAIL_ADDRESSES', > SQLField('contact_id',db.CONTACTS, required=True), > SQLField('email_address','string',length=255, required=True), > SQLField('the_default','boolean', default=False, required=True) > ) > db.EMAIL_ADDRESSES.contact_id.requires=[ IS_IN_DB(db, > db.CONTACTS.id) ] > db.EMAIL_ADDRESSES.email_address.requires=IS_EMAIL() > > This is my view... > > def index(): > cf1 = SQLFORM( db.CONTACTS ) > if cf1.accepts(request.vars,session): > response.flash="Contact added." > return dict( form=cf1 ) > > The natural thing seemed to be to try: > cf1 = SQLFORM( db.CONTACTS, db.EMAIL_ADDRESSES ) > but that barfed, so next I tried... > cf1 = SQLFORM( db.CONTACTS, db.EMAIL_ADDRESSES, fields= > ["contact_name","email_address"]) > which barfs also. I also tried... > cf1 = SQLFORM( db.CONTACTS.id==db.EMAIL_ADDRESSES.contact_id, > fields="contact_name" ) > with the same result. > > Am I missing something small or am I going about it entirely the wrong > way? > > Thanks, > > Roger. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

