Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
3371 Vistas

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.







Avatar
Descartar
Autor

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?

Mejor respuesta

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.

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
ene 24
2452
1
feb 24
1385
1
feb 24
1196
2
dic 22
12189
1
may 24
1959