diff options
| author | Raphael Collet <rco@openerp.com> | 2015-01-13 16:25:30 +0100 |
|---|---|---|
| committer | Raphael Collet <rco@openerp.com> | 2015-01-21 11:26:23 +0100 |
| commit | 54c655cb71df19a2e8fb8aacbdf43007a1cdb3c2 (patch) | |
| tree | 2d2b0b851216e35a81f652757586a6f6e00ac772 | |
| parent | cf26f7ed802b82a488de1dab0dbec27b8e87009b (diff) | |
[FIX] models: do not introduce a one2many manual field if its inverse is not on its comodel
| -rw-r--r-- | openerp/models.py | 6 |
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'] |
