【问题标题】: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'表示领料单的合作伙伴信息的字段。
使用相关数据类型和只读声明的字段意味着它不能通过查询访问。
两件事情:
-
如果您的目的是在表单视图中显示值,那么您需要扩展视图并在适当的位置添加一个字段。
-
如果您想在数据库中存储值并在数据科学中使用它,那么您需要扩展字段并添加属性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')