도움말

2

Odoo 10: How to filter on a Many2one field?

Avatar
ZQinn

I have created a model which one field is "Many2one" type, and its co-model is "res.users":

to_approve_by = fields.Many2one(comodel_name='res.users', string='To Approve by')

On the form view for this model. I want the selection widget of this field only list the 'res.users' in one certain group, such as "Project / Manager".

So, how to editor the code to realize it?

Are there someone give me a sample code or some advice?

Thanks.

1 코멘트
Avatar
Discard
Avatar
Mohammed Amal N
-

use domain filter for the field

2 응답
0
Best Answer

Hi,

try something like this (not tested) :

def _get_users_group_project(self):
    return [('id', 'in', self.env.ref('xml_id_of_group').users.ids)]

to_approve_by = fields.Many2one('res.users', string='To Approve by', domain=lambda self:self._get_users_group_project())

Regards

Avatar
Discard
0
Avatar
ZQinn
Best Answer

Dear Mohammed Amal,

Did your means that I should code my .py file like below?:

to_approve_by = fields.Many2one(comodel_name='res.users',
string='To Approve by',
domain="[('groups_id.ids','??',??)]")

But I don't know how to code the 'operator' and 'value' section in the tuple. So, Would your please give me a sample?

Avatar
Discard