Hi,
I'm looking for a way to define a default foreign key dynamically.
For example if I have the following schema:
db.define_table('owner',Field('name', 'string'),
Field('isdefault','boolean',default=False))
db.people.insert('name'='Bill')
db.people.insert('name'='unknown',isdefault=True)
db.define_table('dog',
Field('name','string'),Field('owner',db.owner,default=????))
db.dog.insert(name='Fido',owner=1)
db.dog.insert(name='mutt') # hopefully points to "unknown" in owner table
Is there a way I could dynamically check the "owner" table and return the
id of the first row where isdefault==True whenever I define a new "dog"
without an owner?
In the example above the "mutt" row should have owner==2 ("unknown" in the
owner table).
Trying to put a function as the default argument does not work. I realize I
could set the owner to always be the first row in the table but I would
like something more robust and flexible.
Thanks
Vincent