Как вызвать функцию вычисления внутри Onchange () в odoo 10?

Как мы можем вызывать вычисляемую функцию внутри @api . onchange ( 'start_date' ) def onchange_start_date ( self ): self . update ({ 'validity_date' : self . compute_next_days () }) def compute_next_days ( self , exprdate ): ten_days = relativedelta ( days = 10 ) expr_date = поля . Дата . from_string ( exprdate ) возвращаемые поля . Дата . to_string ( expr_date + ten_days ) () в оду. Например ! У меня есть два поля (start_date и end_date). Когда изменяется start_date, как end_date будет автоматически изменен.

вот мой код:

self.compute_next_days()

python-3.x,odoo,

0

Ответов: 2


0

Вы вызываете exprdateбез validity_dateаргументов, и вы можете обновить таким образом:self.validity_date = self.compute_next_days(self.start_date)

onchange

Ваш onchangeметод должен быть:

@api.onchange('start_date')
def onchange_start_date(self):
    self.validity_date = self.compute_next_days(self.start_date)

Надеюсь, этот ответ может быть вам полезен.


0

Вы можете использовать @api.depends(fields_name)для этого. В вашем методе вычисления добавьте @api.dependsи @api.onchangeи то, и другое.

python-3.x, odoo,
Похожие вопросы