Skip to Content
Menu
This question has been flagged
1 Atsakyti
1341 Rodiniai
_inherit = "product.template"
_description = "Product"

branch_ids = fields.Many2many('res.branch', string='Branch', help="Branch associated with this product template")

@api.onchange('categ_id')
def _onchange_categ_id(self):
"""Sets branch_ids based on the selected category's branch_ids"""
if self.categ_id:
self.branch_ids = self.categ_id.branch_ids
else:
self.branch_ids = [(5, 0, 0)] # Clears the branch_ids field

i want to passed the value but dont want auto fetch the data user will select it on their choice based on associted with category in form of dropdown how i will do that 

Portretas
Atmesti
Best Answer

Hi,

Please refer to the code:

from odoo import api, fields, models

class ProductTemplate(models.Model):
_inherit = "product.template"

allowed_branch_ids = fields.Many2many(
'res.branch',
string="Allowed Branches",
compute="_compute_allowed_branch_ids",
)
branch_ids = fields.Many2many(
'res.branch',
string='Branch',
domain="[('id', 'in', rec.allowed_branch_ids.ids)]",
help="Branches associated with this product template"
)


@api.depends('categ_id')
def _compute_allowed_branch_ids(self):
"""Compute allowed branches from category"""
for rec in self:
if rec.categ_id:
rec.allowed_branch_ids = rec.categ_id.branch_ids
else:
rec.allowed_branch_ids = [(5, 0, 0)] # clear

Hope it helps.

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
lapkr. 24
1258
0
lapkr. 24
15
10
birž. 16
33435
1
spal. 15
9583
4
rugp. 15
3876