我尝试在记录集上使用过滤但在conslole中只获取res.partner()为空。
如何从res.partner获取所有记录,其中id = company_id
@api.multi
def get_partner(self):
my_ids = self.env['res.partner'].filtered(lambda r: r.id == r.company_id)
print(my_ids)
答案 0 :(得分:1)
这可能是因为您的过滤器实际上已过滤掉所有记录。意思是集合中没有一条记录符合您的标准。
您查询r.id == r.company_id
正在说
find all partners whose id is equal to the company id
所以基本上你需要将lambda表达式改为能够提供所需列表的东西。如果您希望所有合作伙伴都是当前用户公司的一部分,那么查询将如下所示。
company_id = self.env.user.company_id.id
my_ids = self.env['res.partner'].search([]).filtered(lambda r: r.company_id.id == company_id)