【问题标题】:Odoo - display partner name on stock.move.lineOdoo - 在 stock.move.line 上显示合作伙伴名称
【发布时间】:2022-08-14 05:58:21
【问题描述】:

我想在 stock.move.line 上显示合作伙伴名称 (partner_id)

尝试像这样继承 partner_id:

class StockMoveLine(models.Model):
    _inherit = \'stock.move.line\'
    partner_name = fields.Many2one(related=\'partner_id\')

这给了我错误 \"KeyError: \'partner_id\'\"

我是 Odoo 的新手,在理解字段继承或相关方面有困难,感谢任何帮助。谢谢你。

    标签: inheritance odoo odoo-14


    【解决方案1】:

    在 many2one 字段中,您需要添加 comodel name not related 属性,因为它是 2 个表之间的关系...

    partner_name = fields.Many2one(comodel_name='res.partner')
    

    【讨论】:

      【解决方案2】:

      stock.move.line 对象有一个'picking_partner_id'表示领料单的合作伙伴信息的字段。

      使用相关数据类型和只读声明的字段意味着它不能通过查询访问。

      两件事情:

      1. 如果您的目的是在表单视图中显示值,那么您需要扩展视图并在适当的位置添加一个字段。

      2. 如果您想在数据库中存储值并在数据科学中使用它,那么您需要扩展字段并添加属性store=True

        例如:picking_partner_id = fields.Many2one(store=True)

      【讨论】:

        【解决方案3】:

        您可以使用move_id 字段访问股票移动的partner_id 字段

        class StockMoveLine(models.Model):
            _inherit = 'stock.move.line'
        
            partner_name = fields.Many2one(related='move_id.partner_id')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多