ODOO_11 onchange message_send - PullRequest
       4

ODOO_11 onchange message_send

0 голосов
/ 13 ноября 2018

Добрый день всем.

Я столкнулся с проблемой в ODOO, и Google, и ТАК не могут дать мне ответ.Я пытаюсь использовать метод message_post в функции onchange, например

@api.onchange('approver')
def approve_send_message(self):
    self.message_post(body='Another bit of test')

Но сообщение не появляется (но создается без модели и идентификатора в нем).Когда я пытаюсь использовать что-то вроде

self.env['my.model'].browse([1]).message_post(body='body')

, оно работает нормально.Общий вопрос - как получить id объекта, в котором onchange возбуждается?Такие вещи, как _origin, origin, context и self.id не работали.И self.id вернуть

odoo.models.NewId object at 0x7f6eaa69a2e8

insted ID.Спасибо за ваши ответы

1 Ответ

0 голосов
/ 17 января 2019

Найденная причина - когда ODOO выполняет замену, он создает новый объект со всеми параметрами старого, плюс изменения. Старые параметры хранятся в obj.orign param, но не в id. Я нашел некоторые странные и иногда не работающие методы, чтобы найти старый идентификатор, но я не нашел нормального способа. Так что, я думаю, это одна из вещей, которая должна быть реализована в ODOO.

...