integerodooodoo-13newid

Getting issue in compute field for integer field in Odoo 13


i am getting issue when applying compute method(_compute_days) in integer field(days) for odoo 13.

error is:-

lead.age.audit(,).days

my code is below:-

class crm_lead_age(models.Model):
    _inherit = 'crm.lead'
    
    age_audit = fields.One2many('lead.age.audit', 'lead_id', index=True, store=True)

class crm_lead_age_audit(models.Model):
    _name = 'lead.age.audit'
    
    lead_id = fields.Many2one('crm.lead')
    stage_id = fields.Many2one('crm.stage')
    date_in = fields.Date()
    date_out = fields.Date()
    days = fields.Integer(compute='_compute_days', store=True)
    
    @api.depends('date_in', 'date_out')
    def _compute_days(self):
        for res in self:
            if res.date_in and res.date_out:
                res.days = (res.date_out - res.date_in).days

Thanks in advance.


Solution

  • Issue solved by this code:

    @api.depends('date_in', 'date_out')
    def _compute_days(self):
         self.days = 0
         for res in self:
            if res.date_in and res.date_out:
                res.days = (res.date_out - res.date_in).days