You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo中如何通过Employee模型的res.users外键展示用户详情

嘿,针对你在Odoo里想通过Employee模型的user_id外键展示关联用户更多详情的需求,我给你整理了几种实用的实现方法,你可以根据自己的场景选择:

方法1:直接在视图中引用关联字段

这种方法不需要修改模型代码,直接在表单视图里通过user_id.字段名的方式调用关联res.users模型的字段,设置为只读即可:

<group string="关联用户详情">
    <!-- 原有的user_id字段,用来选择用户 -->
    <field name="user_id"/>
    <!-- 展示关联用户的ID、名称、邮箱 -->
    <field name="user_id.id" string="用户ID" readonly="1"/>
    <field name="user_id.name" string="用户姓名" readonly="1"/>
    <field name="user_id.email" string="用户邮箱" readonly="1"/>
    <!-- 可以继续添加其他需要的字段,比如user_id.login、user_id.phone等 -->
</group>

优点:快速实现,无需改动模型,适合临时展示少量字段的场景。

方法2:使用Form Widget内嵌展示用户完整详情

如果你想更直观地展示用户的完整表单信息,可以给user_id字段指定form类型的widget,并内嵌用户的视图结构:

<field name="user_id" widget="form" options="{'mode': 'view'}">
    <form string="用户详情">
        <group>
            <field name="id"/>
            <field name="name"/>
            <field name="email"/>
            <field name="login"/>
            <field name="phone"/>
            <!-- 按需添加res.users模型的其他字段 -->
        </group>
    </form>
</field>

这里的options="{'mode': 'view'}"会把内嵌的用户表单设置为只读模式,避免误修改关联用户的信息。点击user_id字段时,也会弹出完整的用户详情弹窗(符合Odoo标准交互)。

优点:集中展示用户的完整信息,交互体验更流畅。

方法3:通过关联字段(Related Fields)封装用户信息

如果你的多个视图都需要展示这些用户详情,或者需要对这些字段做后续扩展,可以在Employee模型中定义关联字段,把res.users的字段映射过来:

# 在Employee模型中添加以下代码
user_id = fields.Many2one('res.users', string='用户', default=lambda self: self.env.user)
# 关联用户的登录账号
user_login = fields.Char(string='登录账号', related='user_id.login', readonly=True)
# 关联用户的邮箱
user_email = fields.Char(string='用户邮箱', related='user_id.email', readonly=True)
# 关联用户的电话
user_phone = fields.Char(string='联系电话', related='user_id.phone', readonly=True)

然后在表单视图中直接使用这些封装好的字段:

<group string="关联用户详情">
    <field name="user_id"/>
    <field name="user_login"/>
    <field name="user_email"/>
    <field name="user_phone"/>
</group>

优点:字段复用性强,后续如果需要调整展示的字段,只需要修改模型代码即可,不用逐个修改视图。


内容的提问来源于stack exchange,提问作者Mingg Lex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:38:22