如何将值从字段传递给 Odoo 13 中的向导?
Posted
技术标签:
【中文标题】如何将值从字段传递给 Odoo 13 中的向导?【英文标题】:How to pass value from field to a wizard in Odoo 13? 【发布时间】:2020-12-19 09:29:21 【问题描述】:我为两个表单视图使用两个模型。 我在下面的模型 1 中有这个字段
name = fields.Many2one('hr.employee', string="USERNAME", required=True)
我想在单击按钮时将其值传递给向导。代码如下:
def create_field(self):
return 'name': self.name, 'view_mode': 'form', 'res_model': 'dieu.chinh', 'view_id': False, 'res_id': wiz.id, 'res_id' : self.id, 'context': 'current_id': self.id, 'target': 'current', 'type': 'ir.actions.act_window',
XML 文件中的按钮:
button type="object" string="SUBMIT" name="create_field" class="oe_highlight"/>
点击按钮后,可以用模型2打开预期的表单视图,但仍然没有显示上一个表单中选择的值。
那么...
请帮忙!
谢谢!
【问题讨论】:
通过create_field
中的上下文传递值。 'context': 'current_id': self.id, 'default_name': self.name,
您是否成功地将字段中的值传递给向导?
嗨,肯利。谢谢您的支持。我尝试过使用您的代码,但在单击按钮后出现 hr.employee 错误。像这样的错误: -->> psycopg2.DataError: invalid input syntax for integer: "hr.employee(20,)" LINE 1: ...te" FROM "hr_employee" WHERE "hr_employee".id IN ('hr .雇用... ^
检查这个答案会对你有所帮助,在 13.0 中也可以使用。 ***.com/questions/62529650/…
name
字段是 Many2one
字段,因此请尝试传递其 id
,如下所示:'context': 'current_id': self.id, 'default_name': self.name.id,
【参考方案1】:
试试这个:
def create_field(self):
form_view = self.env.ref("your_wizard_form_view_external_id")
return
'name': 'Wizard Name',
'views': [
(form_view.id, 'form'),
],
'res_model': 'dieu.chinh',
'target': 'new',
'type': 'ir.actions.act_window',
'context':
'default_wizard_field_name': self.name.id, # for passing Many2One field context value in Wizard form view
,
'default_wizard_field_name': self.name.name
# 用于在向导表单视图中传递 Char 字段上下文值
【讨论】:
以上是关于如何将值从字段传递给 Odoo 13 中的向导?的主要内容,如果未能解决你的问题,请参考以下文章