Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
2315 Lượt xem

In my case, I need to allow the users to duplicate so, they can prevent typing the City, Province, Country, and Other extra information. But I have to restrict saving the same lead name twice.

I already used Automated Actions to prevent duplication but it's not letting to duplicate leads.


The code I used in Automated Action is:

existing_name = env['crm.lead'].search([('id', '!=', record.id), ('name', '=', record.name)])
if existing_name:
         raise UserError(record.name + ' already exists!')


Is there are any ways to allow the duplication but while saving it has to show a different name or else the warning message has to pop up.


Thanks in advance.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

You can do this way


@api.constrains('name')
def _check_something(self):
existing_name = self.env['crm.lead'].search([('id', '!=', self.id), ('name', '=', self.name)])
if existing_name:
raise UserError("%s already exists!" % self.name)

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks for the code, Could you please explain to me where can I use this code?

I am using Odoo cloud not Odoo SH or on-premise.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 9 21
2025
2
thg 11 24
2899
1
thg 5 24
3154
1
thg 11 23
3187
0
thg 10 23
1456