This question has been flagged
2 Replies
10426 Views

Hello everyone, I have a problem when I try to add a implied_id in the implied_ids atribute of res.groups. I tried this code:

implied_id = obj.search([('name', '=', 'Mostrar las iniciativas propias')]) (if I print this variable I get this result: [7]

group_id = oerp.create('res.groups', {'name': name_group, 'category_id': category_id[0], 'implied_ids': implied_id})

The group is created correctly with his name and category, but implied_ids is empty... I don't know why...

I use the oerplib.

Somebody knows what I'm doing wrong?

Thank you in advance

Avatar
Discard
Best Answer

Hi,

To link an existing resource in a one2many or many2many fields (as suggests your 'implied_ids' field), you need to use the "magic" numbers of OpenERP to tell what you want to do:

group_id = oerp.create('res.groups', {'name': name_group, 'category_id': category_id[0], 'implied_ids': [(4, implied_id)]})

In a one2many or many2many field, you have to use a list of tuples, e.g => [(4, ID)] '4' means 'link', '2' to remove a resource, '3' to remove and unlink... etc. See the 'openerp/osv/fields.py' file, there is some documentation. Maybe I should add this in the documentation of OERPLib directly.

Regards,

EDIT: If 'implied_id' is a list with one element, you could use either [(6, implie_id)] or [(4, implied_id[0])].

Avatar
Discard
Author Best Answer

Thank you very much Sébastien Alix It helped me a lot!

Avatar
Discard