İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
3482 Görünümler
I am trying to execute this python code to avoid repeating a task in my odoo and the error is not known

if record.name:
task = env ['project.task'].search([['name', '=', record.name]])

if task:
for e in task:
if e.id != record.id:
raise Warning ('La tarea esta creada')


Avatar
Vazgeç
En İyi Yanıt
Try this way

if record.name:
task = env ['project.task'].search([('name', '=', record.name),('id','!=',record.id)])    

    if task:
        raise Warning ('La tarea esta creada')


Avatar
Vazgeç
En İyi Yanıt

It works fine for me. Of course, you need to respect the indentation rules of Python. 

if record.name:
task = env ['project.task'].search([['name', '=', record.name]])

if task:
for e in task:
if e.id != record.id:
raise Warning ('La tarea esta creada')

Hope this helps you. 

Avatar
Vazgeç
Üretici En İyi Yanıt
it returns this error when I try to run it

ValueError: : "'NoneType' object has no attribute 'name'" while evaluating "if record.name:\n task = env ['project.task'].search([['task.name', '=', record.name]])\n\nif task:\n for e in task:\n if e.id != record.id:\n raise Warning ('La tarea esta creada')"


Avatar
Vazgeç

I'm testing it in V13, On Premise. The behavior is:
- Create a task with a name. (e.g. : "x") --> OK
- Create another task with the same name ("x") --> Shows the message "La tarea esta creada" and it doesn't allow saving the record.
Tested from both kamban and list view of tasks.

İlgili Gönderiler Cevaplar Görünümler Aktivite
0
May 21
4334
0
Eki 24
1088
0
Şub 24
1691
1
Ara 22
2163
2
Tem 22
5401