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

Odoo技术咨询:如何在stock.move.line上显示合作伙伴名称

问题解决:在StockMoveLine中添加合作伙伴名称字段

错误原因

stock.move.line模型本身没有直接的partner_id字段,你直接使用related='partner_id'会找不到对应字段,因此触发KeyError: 'partner_id'。

正确实现方式

StockMoveLine通过move_id字段关联到StockMove模型,而StockMove中存在partner_id字段,所以需要通过move_id做层级关联:

from odoo import models, fields

class StockMoveLine(models.Model):
    _inherit = 'stock.move.line'
    
    # 关联到对应的合作伙伴记录
    partner_id = fields.Many2one(related='move_id.partner_id', string='合作伙伴', store=True)
    # 仅显示合作伙伴名称(可选)
    partner_name = fields.Char(related='move_id.partner_id.display_name', string='合作伙伴名称')

补充说明

  • related字段会自动同步关联字段的值,添加store=True可将值存入数据库,便于搜索和报表使用(可选配置)
  • 若仅需展示名称,使用partner_name的Char类型更合适;若需要关联完整的合作伙伴数据,选择partner_id的Many2one类型

内容的提问来源于stack exchange,提问作者Matija Amondi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:06:22