summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2015-01-13 16:25:30 +0100
committerRaphael Collet <rco@openerp.com>2015-01-21 11:26:23 +0100
commit54c655cb71df19a2e8fb8aacbdf43007a1cdb3c2 (patch)
tree2d2b0b851216e35a81f652757586a6f6e00ac772
parentcf26f7ed802b82a488de1dab0dbec27b8e87009b (diff)
[FIX] models: do not introduce a one2many manual field if its inverse is not on its comodel
-rw-r--r--openerp/models.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/openerp/models.py b/openerp/models.py
index 1c808ad74ba..2e36a7527e9 100644
--- a/openerp/models.py
+++ b/openerp/models.py
@@ -718,7 +718,11 @@ class BaseModel(object):
attrs['ondelete'] = field['on_delete']
attrs['domain'] = eval(field['domain']) if field['domain'] else None
elif field['ttype'] == 'one2many':
- if partial and field['relation'] not in cls.pool:
+ if partial and not (
+ field['relation'] in cls.pool and (
+ field['relation_field'] in cls.pool[field['relation']]._fields or
+ field['relation_field'] in cls.pool.get_manual_fields(cr, field['relation'])
+ )):
continue
attrs['comodel_name'] = field['relation']
attrs['inverse_name'] = field['relation_field']