from odoo import api, models, tools


class IrModelFields(models.Model):
    _inherit = "ir.model.fields"

    @api.model
    @tools.ormcache("model_name")
    def get_field_string(self, model_name):
        """
        Переопределение функции нам нужно для того, чтобы обойти ограничение платформы.
        В нашем случае при вызове оригинальной функции перевод берется из кэша системы,
        что приводи к тому, что для его появления на экране нужно перезагружать экземпляр.
        Для того, чтобы обойти это мы очищаем кэш.

        """
        # TODO Необходимо будет сделать сброс кэша не безусловным, а по какому либо флагу,
        # например сделать режим переводчика, по аналогии с режимом разработчика
        self.env.registry.clear_cache()
        return super().get_field_string(model_name)
