diff options
| author | Christophe Simonis <chs@tinyerp.com> | 2009-12-01 14:19:08 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@tinyerp.com> | 2009-12-01 14:19:08 +0100 |
| commit | 229c73d741a2d902ae64335ec5bdeeb58d8fa54e (patch) | |
| tree | c547af523a0673cf951ddaac441f35aef4ffa170 | |
| parent | bb6e26450e975a218434f46ede4b98cb0c701fc8 (diff) | |
[FIX] allow related fields to point to one2many and many2many fields
lp bug: https://launchpad.net/bugs/356628 fixed
bzr revid: chs@tinyerp.com-20091201131908-k5l5tmtpjq3m975x
| -rw-r--r-- | bin/osv/fields.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bin/osv/fields.py b/bin/osv/fields.py index 92c9c634365..e1d70978181 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -744,7 +744,7 @@ class related(function): except: t_data = False break - if field_detail['type'] in ('one2many', 'many2many'): + if field_detail['type'] in ('one2many', 'many2many') and i != len(self.arg) - 1: t_data = t_data[self.arg[i]][0] else: t_data = t_data[self.arg[i]] @@ -760,6 +760,12 @@ class related(function): for r in res: if res[r]: res[r] = (res[r], ng[res[r]]) + elif self._type in ('one2many', 'many2many'): + for r in res: + if res[r]: + res[r] = [x.id for x in res[r]] + + return res def __init__(self, *arg, **args): |
