refactor: use non-stored computed fields with inverse handlers for company coordinates to prevent DB schema conflicts

This commit is contained in:
Suherdy Yacob 2026-06-14 10:33:33 +07:00
parent b9afddf1dd
commit 4748ace653

View File

@ -4,5 +4,17 @@ from odoo import models, fields
class ResCompany(models.Model): class ResCompany(models.Model):
_inherit = 'res.company' _inherit = 'res.company'
partner_latitude = fields.Float(string="Latitude") partner_latitude = fields.Float(string="Latitude", compute="_compute_coords", inverse="_inverse_coords", store=False)
partner_longitude = fields.Float(string="Longitude") partner_longitude = fields.Float(string="Longitude", compute="_compute_coords", inverse="_inverse_coords", store=False)
def _compute_coords(self):
for company in self:
company.partner_latitude = getattr(company.partner_id, 'partner_latitude', 0.0)
company.partner_longitude = getattr(company.partner_id, 'partner_longitude', 0.0)
def _inverse_coords(self):
for company in self:
if hasattr(company.partner_id, 'partner_latitude'):
company.partner_id.partner_latitude = company.partner_latitude
if hasattr(company.partner_id, 'partner_longitude'):
company.partner_id.partner_longitude = company.partner_longitude