跳至内容
菜单
此问题已终结
2 回复
7231 查看

Dear,

if i want to create two products with same product name, it's been created in odoo 11.0 E, so if i want to make a restriction so no one can create a same product again, is it possible.

many thanks

形象
丢弃
最佳答案

Hi Muhammad,

Yes, this is possible. You can create filters or restrictions in any way that you like to prevent these kind of behaviours. You could for example override the create function and then search in the database for a product with the same name. If it is the same name you can show a warning saying that there is already a product with this name and that it already exists. A raw example:

@api.model def create(self, values): record = super(YourClass, self).create(values) matching_products = self.env['product.product'].search([('name', '=', self.name)]) if len(matching_products) > 1: raise Warning(_('You already have a product with this name. Please don't recreate it'))   return record

Regards,
Yenthe

形象
丢弃
最佳答案

Hi, you can also use the sql_constraints.

eg:
name = fields.Char(string="Name")
_sql_constraints = [('unique_name', 'UNIQUE(name)', 'name must be unique')]

Thank you

形象
丢弃
编写者

hi, avinash,

is it possible without any coding

thanks

相关帖文 回复 查看 活动
0
6月 24
1536
0
3月 24
1641
1
1月 24
1831
2
1月 24
2026
1
2月 25
3172