odoo13中的res.partner和res.user之间是什么关系?

时间:2019-10-22 07:20:26

标签: python odoo odoo-13

我在odoo12中工作,每当我想区分合作伙伴用户时,我都会使用以下代码

is_customer = False/True    
self.env['res.partner'].search([('customer', '=', is_customer)])

但是现在在odoo13中,他们删除了 customer 字段。 我想建议如何像上面那样区分它们? 员工字段对我不起作用。

3 个答案:

答案 0 :(得分:1)

res.usermany2one的{​​{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中,没有customersupplier不是用户的情况下您就不会有合作伙伴。

但是对于每个版本都像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合作伙伴下拉列表中。

         

在选择此实现之前,我们已经考虑过不同的实现方式