跳至内容
菜单
此问题已终结
2 回复
1779 查看

So I'd like to display the name of the location on the Track List but so far I'm getting stuck with errors.

I already added a new field to the event.track model names "x_location_name", which is a computed field with the following code:

​from odoo import api
location_name = fields.Text(compute='_compute_location_name')

@api.depends('location_id', 'location.name')
def _compute_location_name(self):
  if self.location_id:
    self.location_name = self.location_id.name
  else:
    self.location_name = ''


Then I went to the Tracks: List Display view and added a span with t-out="track.x_location_name" but after that the website throws an error as follows.


Error while render the template
ValueError: forbidden opcode(s) in "from odoo import api\nlocation_name = fields.Text(compute='_compute_location_name')\n\n@api.depends('location_id', location.name')\ndef _compute_location_name(self):\n  if self.location_id:\n    self.location_name = self.location_id.name\n  else:\n    self.location_name = ''": IMPORT_NAME, IMPORT_FROM
Template: website_event_track.tracks_display_list
Path: /t/div[2]/ul/li/div[2]/div/div[2]/div[1]/div[2]/span[1]
Node: 

The error occurred while rendering the template website_event_track.tracks_display_list and evaluating the following expression: 

So I'm stuck here and was wondering:

- Is the computed field not correct? (I'm not knowledgable in Python)

- Did I incorrectly try to render the computed field?


形象
丢弃
编写者 最佳答案

Yes, I'm using the Developer Tools, and the video indeed helped!

Looks like the issue was with the code of the computed field.

Just as a reference if someone else ends up with a similar issue, below the computation that worked

for rec in self:
  if rec.location_id:
    rec['x_location_name'] = rec.location_id.name
  else:
    rec['x_location_name'] = ''

So the issue was for one: the code including more than necessary Python things, then also the field name being incorrect in the computation and lastly record is a reserved word.

形象
丢弃
最佳答案

Hi,
Are you defining the computed field from the user interface , then see: https://www.youtube.com/watch?v=j981dytxE28

Thanks

形象
丢弃
相关帖文 回复 查看 活动
2
5月 25
900
1
11月 24
1205
1
7月 15
5248
1
9月 24
1540
0
8月 24
982