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'}”
即字符串而不是字典?字段名是字符类型