Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
1532 Widoki

when I create a new company, the company_registry value in res.partner (Customers - Sales) is not filled in automatically. I want it to be filled in automatically if res.company already has a company_registry value. Please correct the model if there is something wrong...



from odoo import models, fields
class ResPartner(models.Model):    _inherit = 'res.partner'
    company_registry = fields.Char(string='Company Registry')        def create(self, vals):        company_id = vals.get('company_id')        if company_id:            company = self.env['res.company'].browse(company_id)            if company.company_registry:                vals['company_registry'] = company.company_registry        return super(ResPartner, self).create(vals)
    def write(self, vals):        if 'company_id' in vals:            company = self.env['res.company'].browse(vals['company_id'])            if company.company_registry:                vals['company_registry'] = company.company_registry        return super(ResPartner, self).write(vals)
Awatar
Odrzuć
Najlepsza odpowiedź

Hellow,
Why not you simplify it by removing the function create​ and write​, and then change the property for the field declaration like this:

company_registry = fields.Char(
​store=True,
​​string='Company Registry',
​related='company_id.company_registry')
Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
wrz 24
1211
1
paź 24
1514
1
maj 24
1043
2
sie 25
160
4
sie 25
1423