Установить адрес электронной почты в качестве внешнего ключа в Odoo 10 - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть модель с именем Joked, и я хочу сохранить адрес электронной почты текущего пользователя в качестве внешнего ключа. В моей модели я определил мои отношения M2O, как показано:

last_accessed_by = fields.Many2one('res.users', string='Complainant id', default=lambda self: self.env.uid, required = True)

Однако для этого требуется идентификатор пользователя, а не адрес электронной почты.

1 Ответ

0 голосов
/ 30 апреля 2018

В шаблоне электронной почты вы можете продолжать использовать точечную запись для доступа к атрибутам подобъекта.

В вашем случае, когда вы получаете object.last_accessed_by, вы получаете res.users объект. Вы можете продолжить доступ к атрибутам, пока не получите то, что вам нужно.

Кроме того, все модели в Odoo имеют несколько «встроенных» полей. Одним из них является `write_uid, который хранит то, что пользователь в последний раз изменил запись.

Я бы предложил использовать его вместо поля last_accessed_by, так как оно кажется идентичным. Вы можете получить что-то вроде этого:

object.write_uid.partner_id.email
...