Why do you want a one-to-one relation? Can't you just put all the fields in one table?
Anthony On Tuesday, September 11, 2012 9:23:16 AM UTC-4, martzi wrote: > > Unique = True, has probably no effect. see below. > ... > >>> db = DAL('sqlite://storage.db') > >>> person = db.define_table('person', Field('name')) > >>> bodypart = db.define_table('bodypart', Field('name'), Field('owner', > 'reference person', unique=True)) #unique= True seems to have no effect > >>> pid = person.insert(name='Sid') > >>> bpid = bodypart.insert(name='arms', owner= pid) #pid = 1 > >>> bodypart(bpid).owner #bpid = 1, first insertion of owner as 1 > 1 > >>> bpid = bodypart.insert(name='mouth', owner= pid) # multiple entries > not caught, pid is still 1 > >>> bodypart(bpid).owner #bpid = 2, second insertion of owner as 1 AGAIN > 1 > > On Tuesday, September 11, 2012 2:22:09 PM UTC+2, villas wrote: >> >> I am quite familiar with cascade; I just couldn't figure out how it >> could assist you. >> >> In my opinion, Field('....','reference other_table', unique=True) >> should be supported and work. Maybe you added the constraint later and the >> DB didn't accept it because you already had duplicated field contents. >> >> In any case, even if unique=True is not working for the moment, then a >> work-around would be to make a unique index on the field yourself. You'll >> have to handle exceptions when the insert/update fails due to duplicate >> keys. >> >> >> >> >> On Tuesday, September 11, 2012 12:48:49 PM UTC+1, martzi wrote: >>> >>> Thanks for the reply. But if you meant Field('....','reference >>> other_table', unique=True), I have tried that with failure, i am still >>> having a one-to-many relation. FYI: Regarding CASCADE, an ondelete cascade >>> causes deletion of all referred data. >>> >>> On Tuesday, September 11, 2012 1:37:59 PM UTC+2, villas wrote: >>>> >>>> I may be wrong, but I do not think Cascade could assist you with >>>> enforcing a 1-1 relationship. >>>> Maybe making the foreign key field unique would help? >>>> >>>> >>>> On Monday, September 10, 2012 11:45:28 AM UTC+1, martzi wrote: >>>>> >>>>> Hi, >>>>> I wonder if there a way to enforce a one to one relationship with >>>>> Cascade via web2py DAL API. ??? >>>>> >>>> --