odoo中Many2one的那些事
1、去掉创建并编辑
在form的字段中加入option属性,例如:
<field name="company_id" options="{'no_create_edit': True}"/>
2、对many2one的值进行筛选
使用onchange对下拉框的值进行过滤
@api.onchange('company_id')
def company_id_onchange(self):
#创建一个集合,将符合条件的值添加进去
company_id_list = []
for rec in self.env['hr.employee'].search([('marketing_role_id', '!=', None)]).ids:
#将符合条件的值逐个添加
company_id_list.append(rec)
#通过domain过滤到res集合,将res集合返回回去
#因为many2one存放的值是字典类型的
#而这个domain返回回去的值就是一个字典
res = {'domain': {'marketing_emp_id': [('id', 'in', company_id_list)]}}
return res