コンテンツへスキップ
メニュー
この質問にフラグが付けられました
3 返信
3542 ビュー
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.

関連投稿 返信 ビュー 活動
0
5月 21
4401
0
10月 24
1144
0
2月 24
1784
1
12月 22
2229
2
7月 22
5512