Skip to Content
Menu
This question has been flagged

Hi,

I am trying to set an automated action to update a specific field using Studio with the following python expression :

if record.x_studio_parent_category:
  record.x_studio_parent_category.name + ' / ' + record.name
to update a text field. Basically, if the parent category field is defined (if condition), I want to update that field. Unfortunately, when I change the parent category to an empty field, I get the following error stack :
Error:
Odoo Server Error

Traceback (most recent call last):
File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 684, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 360, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/14.0/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 348, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 913, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 532, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/14.0/addons/web/controllers/main.py", line 1389, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/src/odoo/14.0/addons/web/controllers/main.py", line 1381, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/14.0/odoo/api.py", line 399, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/14.0/odoo/api.py", line 386, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/src/odoo/14.0/addons/base_automation/models/base_automation.py", line 348, in write
action._process(records, domain_post=domain_post)
File "/home/odoo/src/odoo/14.0/addons/base_automation/models/base_automation.py", line 273, in _process
raise e
File "/home/odoo/src/odoo/14.0/addons/base_automation/models/base_automation.py", line 270, in _process
self.action_server_id.sudo().with_context(**ctx).run()
File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_actions.py", line 644, in run
res = runner(run_self, eval_context=eval_context)
File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_actions.py", line 512, in _run_action_object_write
vals = self.fields_lines.eval_value(eval_context=eval_context)
File "/home/odoo/src/odoo/14.0/odoo/addons/base/models/ir_actions.py", line 708, in eval_value
expr = safe_eval(line.value, eval_context)
File "/home/odoo/src/odoo/14.0/odoo/tools/safe_eval.py", line 328, in safe_eval
c = test_expr(expr, _SAFE_OPCODES, mode=mode)
File "/home/odoo/src/odoo/14.0/odoo/tools/safe_eval.py", line 184, in test_expr
code_obj = compile(expr, "", mode)
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/14.0/odoo/http.py", line 316, in _handle_exception
raise exception.with_traceback(None) from new_cause
File "", line 1
if record.x_studio_parent_category:
^
SyntaxError: invalid syntax

What am I doing wrong ?

Many thanks.



Avatar
Discard

send screenshot of your automated action and the field you are trying to write and I will help you

Related Posts Replies Views Activity
1
Mar 23
3683
1
Feb 24
3275
2
Mar 24
1055
0
Oct 21
1924
8
Oct 20
4328