That is easy to fix. In fact it is now fixed in trunk. On Jan 10, 9:42 pm, Jeff Bauer <[email protected]> wrote: > There's a further problem here. The scheme below also > prevents socdiag from ever being updated, because once > the record is created then IS_NOT_IN_DB always fails. > > -Jeff > > On 01/10/2010 09:28 AM, mdipierro wrote: > > > Good point. Perhaps the _and solution is not a good one. > > > On Jan 10, 7:59 am, Jeff Bauer<[email protected]> wrote: > >> Working from changeset 94:4fd248d09b52, the unique column is > >> enforced, but the dropdown is missing. It is replaced by a > >> text (string) entry field. If I add the following code to > >> db.py, the dropdown reappears: > > >> db.socdiag.socform.requires = \ > >> IS_IN_DB(db, 'socform.id', > >> _and=IS_NOT_IN_DB(db, 'socdiag.socform')) > > >> However, with the above code, I was expecting only valid > >> id's (unused) to show appear in the dropdown. Instead ALL > >> socform.id's appear. > > >> In any case the suggestion to add: _and=IS_NOT_IN_DB(... > >> to enforce integrity solves my immediate issue. Thanks. > > >> -Jeff > > >> On 01/10/2010 12:22 AM, mdipierro wrote: > > >>> Try this again with the code in trunk. assuming you have a format > > >>> db.define_table('socform',...,format="....") > > >>> you will get a default validator > > >>> db.docfiag.socform.requires=IS_IN_DB(....,_and=IS_NOT_IN_DB(...)) > > >>> that will make both the dropdown and the reference unqueness enforced > >>> by the validator. > > >>> On Jan 9, 5:30 pm, Jeff Bauer<[email protected]> wrote: > >>>> I'm trying to enforce a one-to-one relationship between > >>>> tables socdiag and socform with unique: > > >>>> db.define_table('socdiag', > >>>> Field('socform', db.socform, unique=True), > > >>>> However the socdiag table permits multiple values of the > >>>> same socform's id to occur in the socform column. I'm using > >>>> sqlite. > > >>>> Jeff Bauer > >>>> Rubicon, Inc. > >
-- You received this message because you are subscribed to the Google Groups "web2py-users" 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.

