Skip to Content
Menu
This question has been flagged
4 Replies
1958 Views


      [('id', 'in', parent.product_id_domain)]



how can add a condition to this domain as it has to execute only when parent.picking_type_code =='outgoing'
Avatar
Discard
Best Answer

Hi Sruti,

So the domain conditions are simple to understand and write. Like `[('id', 'in', parent.product_id_domain)]`​ just means if id is found in parent.product_id_domain.

To add more filtering (conditions) simply append the tuple to condition array.

Means, your final condition will be `[( 'id' ,  'in' , parent.product_id_domain ),  (parent.picking_type_code, '=' , 'outgoing')]`


Multiple conditions: 

You can do it as follows,
`

# Check the condition and apply the appropriate domain

if parent_id.picking_type_code == 'outgoing':

domain = [('id', 'in', parent.product_id_domain)]

elif parent_id.picking_type_code == 'incoming':

domain = [('id', 'in', product_id)]


# Search for records using the constructed domain

records = self.env['table.name'].search(domain)`

Avatar
Discard

Hey , Can you please answer this

Can we have multiple conditions like

if parent_id.picking_type_code', '==', 'outgoing execute
('id', 'in', parent.product_id_domain)
else parent_id.picking_type_code == incoming another domain ('id', 'in', product_id)

Hey Nisarga,
Yes, it is doable.
You can do it as follows,

# Check the condition and apply the appropriate domain
if parent_id.picking_type_code == 'outgoing':
domain = [('id', 'in', parent.product_id_domain)]
elif parent_id.picking_type_code == 'incoming':
domain = [('id', 'in', product_id)]

# Search for records using the constructed domain
records = self.env['table.name'].search(domain)

Author Best Answer

Thanks Jenish M and Chandan , If you know how can we add multiple as like Nisarga commented , Please comment it

Avatar
Discard

updated my answer.

Best Answer

Can we have multiple conditions like

if parent_id.picking_type_code', '==', 'outgoing execute 
('id', 'in', parent.product_id_domain)
else parent_id.picking_type_code == incoming another  domain ('id', 'in', product_id)

Avatar
Discard

Hey Nisarga,
Yes, it is doable.
You can do it as follows,

# Check the condition and apply the appropriate domain
if parent_id.picking_type_code == 'outgoing':
domain = [('id', 'in', parent.product_id_domain)]
elif parent_id.picking_type_code == 'incoming':
domain = [('id', 'in', product_id)]

# Search for records using the constructed domain
records = self.env['table.name'].search(domain)

if this answers your question, please upvote (PS: I am new here with no Karma points)

Best Answer

You can add your conditions seperated by comma(,)

For example,

[('id', 'in', parent.product_id_domain), ('parent_id.picking_type_code', '==', 'outgoing']


Avatar
Discard

Can we have multiple conditions like

if parent_id.picking_type_code', '==', 'outgoing execute
('id', 'in', parent.product_id_domain)
else parent_id.picking_type_code == incoming another domain ('id', 'in', product_id)

Related Posts Replies Views Activity
3
May 24
5210
1
Jan 24
1300
1
Nov 23
1367
1
Nov 23
6
1
Oct 23
1457