ODOO通过BUTTON返回一个ACTION,跳转到一个VIEW
可以参考Odoo采购单的右侧按钮的写法。
简单讲,就是先通过xmlid获取到action_id,继而获取到action,修改action的相关信息,然后将结果返回,即可以实现跳转。
1 2 3 4 5 6 7 8 9 10 | mod_obj = self .pool.get( 'ir.model.data' ) dummy,action_id = tuple (mod_obj.get_object_reference(cr,uid, 'purchase' , 'purchase_rfq' )) action = self .pool.get( 'ir.actions.act_window' ).read(cr,uid,action_id,context = context) action[ 'context' ] = {} request = self .browse(cr,uid,ids[ 0 ],context = context) if request.purchase_id: action[ 'domain' ] = "[('id','='," + str (request.purchase_id. id ) + ")]" action[ 'views' ] = [( False , "form" )] action[ 'res_id' ] = request.purchase_id. id return action |
注意,返回的action是一个Dictionary的结果,而不是action对象,否则将不能跳转。
action['views']=[(False,"form")] views是action的一个属性,值为类似[(view_id,view_mode)]的格式,view_id为False,取默认的view值。
https://www.odoo.com/zh_CN/forum/bang-zhu-1/set-default-value-in-wizard-from-context-137612#:~:text=You%20need%20to%20pass%20%27default_%27%20prefix%20in%20context,set%20the%20default%20value%20when%20wizard%20will%20open.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2019-03-08 selenium使用location定位元素坐标偏差
2019-03-08 截屏转成灰度图
2019-03-08 asyncio 学习
2019-03-08 Python cv2 OpenCV 中传统图片格式与 base64 转换
2019-03-08 Python文件读写、StringIO和BytesIO
2019-03-08 airtest 记录
2019-03-08 Python - mouse clicks and keystrokes on a background window