Two ways:

db.define_table('person',
    SQLField('fname'),
    SQLField('lname'))
db.define_table('dog',
    SQLField('name'))

db.define_table('ownership',
    SQLField('person', db.person),
    SQLField('dog', db.dog))

db.ownership.person.requires = IS_IN_DB(db,'person.id','%(fname)s %
(lname)s')
db.ownership.dog.requires = IS_IN_DB(db, 'dog.id', 'dog.name')

or simply

db.define_table('person',
    SQLField('fname'),
    SQLField('lname'),format='%(fname)s %(lname)s')

db.define_table('dog',
    SQLField('name'),format='%(name)s')

db.define_table('ownership',
    SQLField('person', db.person),
    SQLField('dog', db.dog))

# requirements will be automatic in this case.

On Jun 1, 1:52 pm, Jean Guy <[email protected]> wrote:
> Hello,
>
> I would like to know if there is a way to do that :
>
> db.define_table('person',
>     SQLField('fname'),
>     SQLField('lname'))
> db.define_table('dog',
>     SQLField('name'))
>
> db.define_table('ownership',
>     SQLField('person', db.person),
>     SQLField('dog', db.dog))
>
> db.ownership.person.requires = IS_IN_DB(db,
> 'person.id',*'person.fname'|'person.lname'
> *)
> db.ownership.dog.requires = IS_IN_DB(db, 'dog.id', 'dog.name')
>
> I would show in the drop down the First name and the Last name of the entry
> to be associate from the table "person"...
>
> Jonhy

Reply via email to