我在odoo12中工作,每当我想区分合作伙伴和用户时,我都会使用以下代码
is_customer = False/True
self.env['res.partner'].search([('customer', '=', is_customer)])
但是现在在odoo13中,他们删除了 customer 字段。 我想建议如何像上面那样区分它们? 员工字段对我不起作用。
答案 0 :(得分:1)
res.user
在many2one
的{{1}}中有res.partner
字段,您可以像这样提取用户的所有伙伴:
partner_id
如果您要与 # this will extract every partner that is related to user
partner_users = self.env['res.users'].search([]).mapped('partner_id')
之类的其他字段过滤伙伴:
name
答案 1 :(得分:0)
比较或使用customer
字段对您来说更是巧合,因为在您的Odoo中,没有customer
或supplier
不是用户的情况下您就不会有合作伙伴。
但是对于每个版本都像Odoo 8的版本,您实际上应该使用user_ids
,因为这是一个使用res.users
partner_id
字段作为关系的one2many字段,该字段应始终有效。 / p>
答案 2 :(得分:0)
您可以在base: Remove customer/supplier fields on res.partner提交消息中找到详细的说明和示例。
摘录
此提交允许使用上下文密钥调用
name_search
res_partner_search_mode
目前可以采用两个值:“客户”或 “供应商”。订购搜索结果时,请按其在何时拥有的SO数量来订购合作伙伴 值为“客户”,如果值为“供应商”,则按采购订单编号。
顶部供应商/客户显示在上方的PO / SO合作伙伴下拉列表中。
在选择此实现之前,我们已经考虑过不同的实现方式