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.


Reply via email to