Hi,
You can achieve this requirement by using Odoo's views inheritance mechanism. Here's how you can do it:
1. Define the new field nationality in the product.template model:
from odoo import models, fields
class ProductTemplate(models.Model):
_inherit = 'product.template'
nationality = fields.Char(string="Nationality")
2. Override the form view of the product.template model. Create a new XML file (for example, product_template_views.xml) in your custom module and add the following code:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="product_template_form_inherited" model="ir.ui.view">
<field name="name">product.template.form.inherited</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='categ_id']" position="after">
<field name="nationality" invisible="type != 'service'"/>
</xpath>
</field>
</record>
</odoo>
After making these changes, update the module and refresh the browser to see the changes. Now, the nationality field should only be visible when the product category is selected as Services.
Regards