On Friday, April 20, 2018 at 2:32:45 PM UTC-4, JSalvat wrote:
>
> Hello,
>
> Why on update/insert a record with a non-empty partner, the partner does 
> not get updated as well with the backwards reference?
>
> db.define_table('person',
>                 Field('name', requires=IS_NOT_EMPTY()),
>                 Field('partner', 'reference person', 
> requires=IS_EMPTY_OR(IS_IN_DB(db,'person.id'))))
>
> db.person.insert(name='John')
> 1
> >>> for person in db().select(db.person.ALL):
> ...     print person.id, ' - ', person.name, ' - ', person.partner
> ...
> 1  -  John  -  None
>
> db.person.insert(name='Maria', partner=1)
> 2
> >>> for person in db().select(db.person.ALL):
> ...     print person.id, ' - ', person.name, ' - ', person.partner
> ...
> 1  -  John  -  None
> 2  -  Maria  -  1
>
> Should not be this the result, since is a reciprocal relation?
>

No, neither web2py nor the database know this is a symmetric relationship 
(what if the self reference field was something like "manager"?). You got 
exactly what you inserted.

Anthony

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to