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

I am trying to add a computed method to the event.booth model in Odoo 15

These are my attempts:

#1

class EventBooth(models.Model):
_inherit = 'event.booth'

super.name = fields.Char(string='Name', translate=True, compute='_compute_name')


#2

class EventBooth(models.Model):
_inherit = 'event.booth'

name = fields.Char(string='Name', translate=True, compute='_compute_name')

#3

class EventBooth(models.Model):
_inherit = 'event.booth'

super(EventBooth, self).name = fields.Char(string='Name', translate=True, compute='_compute_name')


I have noticed, that event.booth doesnt have a name field directly, rather it inherits its name field from a model called 'event.type.booth'. By default, the name field on event.type.booth is not a computed field.

Thank you for your help.







形象
丢弃
编写者

This is what the computed method looks like

@api.depends('halle_id.name', 'start_number', 'end_number')
def _compute_name(self):
for record in self:
try:
record.name = "{} | {}-{}".format(record.halle_id.name, str(record.start_number), str(record.end_number))
except:
record.name = "Stand"

The second approach must work. Are there any specific errors you get?

最佳答案

Hi Josef Schmid,
Please try with this.

class Eventbooth(models.Model):
_inherit = "event.booth"

name = fields.Char(string='Name', translate=True, compute='_compute_name')

@api.depends('halle_id.name', 'start_number', 'end_number')
def _compute_name(self):
for record in self:
try:
record.name = "{} | {}-{}".format(record.halle_id.name, str(record.start_number), str(record.end_number))
except:
record.name = "Stand"


Don't Forgot to add the "event_booth" Module into the depends of  you custom module manifest file:

        'depends': [ 'event_booth']

If it's help you, Please vote the Answer.

形象
丢弃
相关帖文 回复 查看 活动
1
1月 24
2657
1
7月 25
1638
1
2月 24
1399
2
12月 22
12439
1
5月 24
2178