Метод odoo onchange не сохраняет значения в полях только для чтения - PullRequest
0 голосов
/ 28 мая 2020

На мой взгляд, у меня есть логическое поле (chk_valido) и два других поля. Я хочу, чтобы эти поля получали значение текущего пользователя и текущую дату, когда для логических полей установлено значение True. С помощью этого кода поля получают значения, но когда я нажимаю кнопку «Сохранить», эти значения исчезают. Что вызывает эти проблемы? Как я могу сохранить эти значения? "user_valido" и "fecha_validaciongabinete" установлены в режим readoly в представлении

chk_valido = fields.Boolean(string='Está validado')
user_valido = fields.Many2one('res.users', string='Usuario valido')
fecha_validaciongabinete = fields.Datetime(string='Fecha Validacion gabinete')

@api.onchange('chk_valido')
def _onchange_chk_valido(self):
    if self.chk_valido:
        self.fecha_validaciongabinete=fields.Datetime.today()
        self.user_valido= self.env.user
    else:
        self.fecha_validaciongabinete=""
        self.user_valido=False

1 Ответ

0 голосов
/ 28 мая 2020

Я нашел решение: добавление force_save = "1" в поля только для чтения в представлении. Я бы вот так:

<field name="user_valido" readonly="1" force_save="1"/>

<field name="fecha_validaciongabinete" readonly="1" force_save="1"/>
...