Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
3514 Представления
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')


Аватар
Отменить
Лучший ответ
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')


Аватар
Отменить
Лучший ответ

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. 

Аватар
Отменить
Автор Лучший ответ
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')"


Аватар
Отменить

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.

Related Posts Ответы Просмотры Активность
0
мая 21
4377
0
окт. 24
1136
0
февр. 24
1730
1
дек. 22
2201
2
июл. 22
5466