加载合作伙伴 parent 和所有孩子的发票

Load invoices of partner,parent and all childs

我有 select 合作伙伴,我有场地 invoice_ids。当我单击添加 object 时,我希望只加载合作伙伴 parent 的发票和他的所有 child_ids 发票。我尝试添加如上所示的域,但出现错误

Uncaught Error: AttributeError: object has no attribute 'parent_id'

我在没有域但使用 onchange 的情况下尝试过,但问题是当我创建记录并选择合作伙伴时 onchnage 开始工作但没有 partner_id 但是当我 select 合作伙伴时它仍然没有合作伙伴,因为它没有保存..所以在这里需要一些帮助。

'invoice_ids': fields.many2many(
            'account.invoice', 'cash_receipt_invoce_rel',
            'cash_receipt_id', 'invoice_id', "Invoices", 
            domain="[('partner_id','in', partner_id.parent_id.child_ids)]",

def onchange_field_id(self, cr, uid, ids, name, context=None):
    cash_rep = self.browse(cr,uid, ids,context=context)
    relation_ids = [x.id for x in cash_rep.partner_id.child_ids]
    return {'domain': {'invoice_ids': [('partner_id', 'in', relation_ids)]}}

要获取所选合作伙伴的发票,该合作伙伴的父级和该合作伙伴的子级,那么您可以这样写。

'invoice_ids': fields.many2many(
            'account.invoice', 'cash_receipt_invoce_rel',
            'cash_receipt_id', 'invoice_id', "Invoices", 
           domain="['|','|',('partner_id.child_ids','in',[partner_id]),('partner_id','=', partner_id),('partner_id','child_of',partner_id)]",