Skip to Content
Menu
This question has been flagged
1 Reply
2532 Views

I need to assign a sequence default_code to created products depending on their categories using an Automated Action.

 

My problem is that I can't access the categ_id. Does anyone know how to solve this problem?

 

Example:


code: 

if not record.default_code:
  if record.categ_id
== 1:
    record.write({
      'default_code':
env ['ir.sequence'].next_by_code('cat1')
    })
  else:
    record.write({
      'default_code':
env ['ir.sequence'].next_by_code('cat2')
    })
 

log:

 

2022-09-08 16:14:27,094 4 WARNING odoo-categories-test-5807939 odoo.models: unsupported operand type(s) for "==": 'product.category()' == '1' (None:15)


Avatar
Discard
Best Answer

Hi Christian Cabral, 

Your code is right, Just need to change the category comparison code for category id instead of category record set.

Just like this: 

code: 

if not record.default_code:
if record.categ_id.id == 1:
record.write({
'default_code': env ['ir.sequence'].next_by_code('cat1')
})
else:
record.write({
'default_code':env ['ir.sequence'].next_by_code('cat2')
})

Hope it will help you. 

Please Vote Up.
Thanks

Avatar
Discard
Related Posts Replies Views Activity
0
Mar 22
1409
1
Nov 23
870
0
Nov 23
449
2
Dec 23
4060
1
Mar 23
6231