Skip to Content
Menú
This question has been flagged
2 Respostes
9148 Vistes

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
Descartar
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
Descartar
Autor

Thanks, works perfectly ! :)

Autor

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
Descartar
Related Posts Respostes Vistes Activitat
1
de des. 19
7520
1
d’oct. 22
3837
3
d’oct. 22
21954
3
de set. 21
9458
4
de gen. 20
3264