【问题标题】:How to pass value from field to a wizard in Odoo 13?如何将值从字段传递给 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打开预期的表单视图,但仍然没有显示上一个表单中选择的值。

那么...如何将值从字段传递给 Odoo 13 中的向导?

请帮忙!

谢谢!

【问题讨论】:

  • 通过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 中也可以使用。 stackoverflow.com/questions/62529650/…
  • name 字段是 Many2one 字段,因此请尝试传递其 id,如下所示:'context': {'current_id': self.id, 'default_name': self.name.id},

标签: view model odoo


【解决方案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 字段上下文值

【讨论】:

    猜你喜欢
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多