partner_shipping_id 的域显示 partner_id 的 child_ids - Odoo

Domain for partner_shipping_id showing the child_ids of partner_id - Odoo

我想覆盖 sale.order 中的 partner_shipping_id 字段以仅显示来自 res.partner 且与 partner_id 匹配的联系人。当前显示所有现有联系人,因此我想更改此行为。

这是我试过的:

 partner_shipping_id = fields.Many2one(
        'res.partner', 
        string='Delivery Address', 
        readonly=True, 
        required=True,
        states={
            'draft': [('readonly', False)], 
            'sent': [('readonly', False)], 
            'sale': [('readonly', False)]},
        domain="[('child_ids.parent_id','=', partner_id)]"
        # domain=
        # "['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
        )

但这只是 returns 在 parnter_id 字段中选择的相同记录。

要仅显示合作伙伴联系人,请使用以下域:

domain="[('parent_id', '=', partner_id)]"

示例:

<record id="sale_order_form_only_partner_contacts" model="ir.ui.view">
<field name="name">sale.order.form.only.partner.contacts</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
    <field name="partner_shipping_id" position="attributes">
        <attribute name="domain">[('parent_id', '=', partner_id)]</attribute>
    </field>
</field>
</record>