如何将值从def传递给视图openerp

时间:2016-09-21 08:09:30

标签: python view openerp

这是我的代码:

def view_purchase(self, cr, uid, ids, context=None):
    return {
        'type': 'ir.actions.act_window',
        'name': 'diary_purchase',
        'view_mode': 'form',
        'view_type': 'form',
        'context': "{'name': 'my purchase'}",
        'res_model': 'diaries_purchases',
        'target': 'current',
        'flags': {'form': {'action_buttons': True}}
    }

我需要将值“我的购买”发送到名为视图diaries_purchases的名称的特定字段,我想通过上下文,但我的代码不起作用,感谢您的帮助

2 个答案:

答案 0 :(得分:0)

在目标模型中(使用view_purchase()功能打开)。访问上下文变量self.env.context,你应该找到你的价值。您应该在字段name上使用计算值或默认值。

def _get_name(self):
    self.name = self.env.context.get('name')

name = fields.char(string="Name",compute=_get_name,store=True)

答案 1 :(得分:0)

通过在字段名称前加default_

前缀,传递这样的上下文
def view_purchase(self, cr, uid, ids, context=None):
    return {
        'type': 'ir.actions.act_window',
        'name': 'diary_purchase',
        'view_mode': 'form',
        'view_type': 'form',
        'context': {'default_name': 'my purchase'},
        'res_model': 'diaries_purchases',
        'target': 'current',
        'flags': {'form': {'action_buttons': True}}
    }