Skip to Content
Menu
This question has been flagged

Hi !

I have a many2one field in my shipping_line class that refers to res_partner_id. In my view, I want to show only the companies, not all the partners. I know that it's related to the boolean field names 'is_company'.

I tried this by creating a fields.related field in shipping_line, like this :

'partner_is_company': fields.related('partner_id', 'res_partner_is_company', type='boolean', store=True)

In my view, I've added a domain :

<field name="partner_id" domain="[('partner_is_company', '==', True)]" />

I don't know what's wrong, I'm kind of new (you can see that in my others Q...)

So I have this error for now :

(...)
ValueError: Invalid leaf ['partner_is_company', '==', True]

If someone can help me with this, I'll be very gratefull !

Avatar
Discard
Best Answer

You can just achieve it using the field in XML like this, no need for using extra related field..

<field name="partner_id" domain="[('is_company', '=', True)]" />
Avatar
Discard
Author

Thanks, works perfectly ! :)

Author

I wonder why we must use '=' in domain, and '==' in <field name="field" attrs="{'invisible':[('type', '==', 'f')]}" />, it's a little confusing...

No, we use '=' in field also like this <field name="field" attrs="{'invisible':[('type', '=', 'f')]}" />. and we are using '==' in python conditional statements like if,while etc...

Best Answer

in the domain function not is valid the equal double sign

try this:

<field name="partner_id" domain="[('partner_is_company', '=', True)]" />

although not is necessary the "related" field

try this:

> 'partner_is_company': fields.many2one('res.partner', 'Partner Company', domain=[('is_company', '=', True)])

Best regards

Avatar
Discard
Related Posts Replies Views Activity
1
Dec 19
7496
1
Oct 22
3804
3
Oct 22
21922
3
Sep 21
9427
4
Jan 20
3230