На самом деле, я хочу отправить сообщение в тему с использованием облачного паба google, когда любая запись, созданная / обновленная на сервере Odoo
Я перезаписываю функцию создания, как показано ниже
@api.model
def create(self, values):
values = self._remove_reified_groups(values)
user = super(Users, self).create(values) // created and return id just like res.users(67,)
group_multi_company = self.env.ref('base.group_multi_company', False)
if group_multi_company and 'company_ids' in values:
if len(user.company_ids) <= 1 and user.id in group_multi_company.users.ids:
group_multi_company.write({'users': [(3, user.id)]})
elif len(user.company_ids) > 1 and user.id not in group_multi_company.users.ids:
group_multi_company.write({'users': [(4, user.id)]})
# Publish message to subscriber
pubsub = PubSub()
// Here I used own middleware service which is used for CRUD opertion on
Odoo model
// Below API return record of model 'res.users'
// Here user.id return 67
req = requests.get('http://localhost:8080/users/' + str(user.id))
fetch_user = req.text // response return user not found because record nor save in table
result = pubsub.publish_message_on_topic(self.project_id, self.topic_name, fetch_user)
return user
В созданииПользователь функции создал & его возвращаемый идентификатор в пользовательской переменной, но он не сохраняется в таблице до тех пор, пока не будет запущен 'return user' (последняя строка функции).Я не знаю, как работала функция создания в Odoo?
Итак, я ищу любое событие, инициируемое при создании / обновлении записи, поэтому я реализую свою логику pubsub для этой функции.
Любая помощьили предложение?
Спасибо.