Very new to Odoo with limited Python experience but trying to learn fast. I tried to follow this post https://www.odoo.com/forum/help-1/question/can-i-enforce-unique-account-numbers-internal-reference-for-customers-and-vendors-140224 and this post https://www.odoo.com/forum/help-1/question/how-can-i-prevent-users-from-entering-duplicate-vendors-based-on-name-only-134963 and adapt it to products.
I think the code works because if I try and change an existing Internal Reference to one that already exists, I get the correct error. However, this code will also give an error on entering a new product even when the Internal Reference is unique.
After a lot of playing of various combinations, my only thought is this due to the interaction of product.template and product.product and this kind of simple approach will not work. Thanks in advance for any thoughts.
On v13.
Model: Product Template
Trigger Condition: On Creation & Update
Watched Fields: default_code (Internal Reference)
Code:
existing_product = env['product.template'].search([('id','!=',record.id),('default_code','=',record.default_code)]) if existing_product: raise Warning("You can't have the same Internal Reference Number in Odoo twice!")
you may need to create one action for each of product.template.model and product.product (variant).