Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
3 Replies
5599 Tampilan

Hi,


I was trying to update record by onchange function. It is not working.

Could you please anyone help me?!

If you have any other solution for it. Pls do suggest

odoo version : 13.0


class AssetMain(models.Model):

    _name = 'asset.asset'


    allocation_lines = fields.One2many('asset.allocation', 'asset_id', string='Allocation')

    current_employee = fields.Many2one('hr.employee', string="Allocated Employee")



class AssetAllocation(models.Model):

    _name = 'asset.allocation'

name = fields.Many2one('hr.employee', string="Employee")

asset_id = fields.Many2one('asset.asset', string="Asset")

@api.onchange('name')

    def _update_asset(self):

        for rec in self.asset_id:

if self.state == 'active'

rec.current_employee = self.name

Avatar
Buang
Penulis

Thank you Sudhir..

i have been resolved by below code.


def write(self, vals):
res = super(AssetAllocation, self).write(vals)
for rec in self.asset_id:
if self.state == 'active':
rec.current_employee = self.name
rec.current_branch = self.branch
return res
Jawaban Terbai

It will not work with the onchange but you should do it in the create/write method because onchange is being executed at clientside and not serverside.

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Des 21
2332
0
Jan 21
2741
3
Mar 24
7310
1
Agu 24
14930
2
Mar 24
8024