File "C:\Users\fadillah\Documents\server\odoo-16.0\odoo\models.py", line 5125, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: hr.appraisal.goal.kr(123, 124)
def write(self, vals):
result = super(HrAppraisalGoal, self).write(vals)
for appraisal in self:
if 'key_result_ids' in vals or 'goal_type' in vals:
if appraisal.key_result_ids:
if appraisal.goal_type == 'okr':
print(appraisal.key_result_ids.capaian)
total_capaian = sum(kr.capaian for kr in appraisal.key_result_ids)
appraisal.capaian = total_capaian / len(appraisal.key_result_ids)
print( appraisal.capaian)
capaian = self.env['hr.appraisal.goal.kr'].search([('name', '=', appraisal.name)])
if capaian:
capaian.capaian = vals['capaian']
print(capaian.name,capaian.id)
else:
vals['capaian'] = 0.0
return result
how can i solve this problem??