AH! Yes, now it makes sense..... to modify like this, all magic (for me at least) goes away:
db.define_table('tableE',SQLField('name')) db.define_table('tableA',SQLField('tableE_id',db.tableE),SQLField('name')) condition=db.tableE.name.like('%o') ## records where name ends in 'o' db.tableA.tableE_id.requires=IS_IN_DB(db(condition),'tableE.id','% (name)s') Thanks! On Oct 18, 5:31 pm, mdipierro <[EMAIL PROTECTED]> wrote: > I think the names are just confusing. tableA is the table field. > tableE in this case is a field of tableA. This is the normal way to > set a validator. The only point of the example is that in > IS_IN_DB(db, ...) db can be replaced by a SQLSet db(....). > > On Oct 18, 4:09 pm, yarko <[EMAIL PROTECTED]> wrote: > > > I'm sorry.... this reads a little bit like magic to me - can someone > > walk me through this line, and how it works: > > > db.tableA.tableE.requires=..... > > > I don't know how to read / make sense of this. Help please! > > > I think I get the right side of this ( condition is the database > > selector; tableE.id is to be represended by the name filed out of > > tableE); > > > Thanks, > > Yarko > > > On Oct 18, 11:19 am, morningovermidnight <[EMAIL PROTECTED]> > > wrote: > > > > Thanks! > > > > On Oct 17, 10:33 am, mdipierro <[EMAIL PROTECTED]> wrote: > > > > > db.define_table('tableE',SQLField('name')) > > > > > db.define_table('tableA',SQLField('tableE',db.tableE),SQLField('name')) > > > > > condition=db.tableE.name.like('%o') ## records where name ends in 'o' > > > > db.tableA.tableE.requires=IS_IN_DB(db(condition),'tableE.id','% > > > > (name)s') > > > > > On Oct 17, 3:47 am, morningovermidnight <[EMAIL PROTECTED]> > > > > wrote: > > > > > > Ok, here goes. I would like to add another table to my database and > > > > > link it to an already exsisting table in my database. Lets say the > > > > > existing table is table-E, and the table to add is table-A. Usually, > > > > > adding a table with a foreign key reference to another table is no > > > > > problem. But for this situation. I do not want every record from > > > > > table- > > > > > E to provide a foreign key to table-A. I only want a subset of the > > > > > records from table-E to show up in table-A. How can I do this? I know > > > > > I can get a subset of records from table-E with a query, but then how > > > > > to add all the results of the query to table-A? And if a record is > > > > > removed or altered in table-E, will those changes be reflected on > > > > > related entries in table-A? Will the query be automatically updating? > > > > > Can a database column be an SQL query? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---