Hi,
I build a model, using a Reference field:
class Example(models.Model):
_name='example'
refers_to = fields.Reference(
[('res.users', 'Staff User'), ('res.partner', 'Contact')],
'Staff (res.users) or Contact (res.partner)',
)
Then, I tried to set a value in that field:
self.env['example'].create({'refers_to': user.id})
'user' being a 'res.users' record. But I got this error message:
Traceback (most recent call last):
` File "odoo/addons-dev/example_module/tests/test_example.py", line 24, in test_install
` self.env['example']._install()
` File "odoo/addons-dev/example_module/models/example.py", line 40, in _install
` 'refers_to': user.id,
` File "odoo/addons-ext/component_event/models/base.py", line 95, in create
` record = super(Base, self).create(vals)
` File "/opt/odoo/odoo/odoo/models.py", line 3394, in create
` record = self.browse(self._create(old_vals))
` File "/opt/odoo/odoo/odoo/models.py", line 3472, in _create
` self._check_selection_field_value(name, val)
` File "/opt/odoo/odoo/odoo/models.py", line 2105, in _check_selection_field_value
` field.convert_to_cache(value, self)
` File "/opt/odoo/odoo/odoo/fields.py", line 1851, in convert_to_cache
` raise ValueError("Wrong value for %s: %r" % (self, value))
` ValueError: Wrong value for example.refers_to: 1
So, now I’m wondering, what is the proper way to set a reference attribute.
Thanks,
Cyrille (La LibreRie)