我已选择合作伙伴,并且我有字段invoice_ids。当我单击添加对象时,我只希望加载伴侣,父母的发票以及他所有的child_ids发票。如上所见,我试图添加域,但出现错误
Uncaught Error: AttributeError: object has no attribute 'parent_id'
,我尝试了不带域但使用onchange的情况,但是问题是当我创建记录并选择合作伙伴时,onchnage开始工作,但是还不是partner_id,但是当我选择合作伙伴时,它仍然没有合作伙伴,因为它没有保存..一些帮助。
'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)]}}
答案 0 :(得分:1)
要获取选定合伙人,该合伙人的父母和该合伙人的孩子的发票,则可以编写以下内容。
'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)]",