Hello,
Odoo V16.
Let's say that I have a new model called Characteristcs and a model ProductCharacteristics that should connect the Product with the Characteristics and contain the value for specific product for chosen characteristic. So the three models look like this:
class ProductTemplate(models.Model):
_inherit = "product.template"
product_characteristic_id = fields.One2many(
comodel_name="product.characteristic", inverse_name="product_template_id", auto_join=True
)
class Characteristics(models.Model):
_name = "characteristics"
name = fields.Char(string="Name", required=True, translate=True)
is_comparable = fields.Boolean(string="Used for Comparison", default=False)
class ProductCharacteristic(models.Model):
_name = "product.characteristic"
product_template_id = fields.Many2one("product.template")
characteristic_id = fields.Many2one("characteristics")
value = fields.Text("Value", required=True)
Now I want to show the possible characteristics on the products form view but I want to show all possible characteristics for a given product in one form/table (whatever possible) so the user does not need to click on the tree view and select a Characteristic that he wants to fill the value for (see pic):
so I get this if I only add the to the product_template view extension xml.
But I want to have this table prefilled. So when the user opens the tab with Characteristics he sees something like this:
And he'll only fill in the values for the characteristics that he wants to fill.
So the main problem is that there are no records in the ProductCharacteristic model for the product in the beginning and thus I can not show this.
So basically I need to somehow prefill the tree with all these possible values.
Can somebody guide me on where to look?
I tried overwriting the read methods (this seems too hacky), investigated the _get_view, but to no avail. Probably I'm just not finding the right method in which I should plug the virtual records so they are displayed in the form..
Would love any comments or thought on the matter :)