Skip to Content
Menu
This question has been flagged
2 Replies
2217 Views

I would like to create a field that has several categories of professions (parent elements) and at the end the profession corresponding to that category appears, as in the product category field of the product model.


How can I do this?


Avatar
Discard
Author Best Answer

a

Avatar
Discard
Best Answer

Hello Tiago,

your new module would have many2one field of same model to make parent and child relation same as product.category has parent_id many2one of product.category model.

define _rec_name as new compute field which compute and store hierarchy name.

please have a look following _compute_complete_name method which depends on name and parent_id


class ProductCategory(models.Model):
_name = "product.category"
_description = "Product Category"
_parent_name = "parent_id"
_parent_store = True
_rec_name = 'complete_name'
_order = 'complete_name'

name = fields.Char('Name', index=True, required=True)
complete_name = fields.Char(
'Complete Name', compute='_compute_complete_name', recursive=True,store=True)
parent_id = fields.Many2one('product.category', 'Parent Category', index=True, ondelete='cascade')
parent_path = fields.Char(index=True)
child_id = fields.One2many('product.category', 'parent_id', 'Child Categories')

@api.depends('name', 'parent_id.complete_name')
def _compute_complete_name(self):
for category in self:
if category.parent_id:
category.complete_name = '%s / %s' % (category.parent_id.complete_name, category.name)
else:
category.complete_name = category.name
Let us know if you still need any help on this, 

Thanks,


Thanks & Regards,



CandidRoot Solutions Pvt. Ltd.

Mobile: (+91) 8849036209
Email: info@candidroot.com
Skype: live:candidroot
Web: https://www.candidroot.com
Address: 1229-1230, Iconic Shyamal, Near Shyamal Cross Road, Ahmedabad, Gujarat 380015
Avatar
Discard
Related Posts Replies Views Activity
3
Sep 24
9984
2
Feb 24
598
1
Jul 23
1003
2
Jun 23
1394
1
May 23
11452