Python 如何将值从def传递到视图openerp
这是我的代码:Python 如何将值从def传递到视图openerp,python,view,openerp,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'}
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}}
}
我需要将值“my 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)
通过在字段名前面加上
default\uuu
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}}
}
你怎么会得到
“{'name':'my purchase'}”
即字符串而不是字典?字段名是字符类型