Odoo 10 - 在提交时以表格形式存储当前会话的用户ID

时间:2018-03-24 03:17:58

标签: session foreign-keys odoo odoo-10

Odoo相对较新。试图建立一个关系,即1个用户发送1封电子邮件,但1个用户可以发送许多电子邮件。我在电子邮件类中创建了一个Many2one字段,如图所示

user_id = fields.Many2one('res.users', string='user id', default=lambda self: self.env.user)

当我从表单提交时,它总是存储“1”,这是管理员的ID,即使我以另一个用户身份登录(John doe,id = 6)。

要检查关系是否良好,我只是在表单中显示了user_id字段,我看到下拉列表中填充了数据库中的所有用户,如下面的代码所示

<div class="hff hff_dropbox form-group" data-form-type="dropbox" data-field-id="4">
    <label class="control-label" for="user_id">User id</label>
    <select class="form-control" name="user_id">
        <option value="">Select Option</option>
        <option value="1">Administrator</option>
        <option value="6">John Doe</option>
    </select>
</div>

1 个答案:

答案 0 :(得分:1)

如果您在odoo后端 uid,则用户是将默认存储登录用户的orm字段。如果您需要从代码中获取它,请尝试

self.env.user.id or request.session.uid or self.env.context.get('uid')