场景描述:

在添加自定义服务器动作 “复制全部”后发现直接创建了新的记录,并且直接进入到form保存完的状态。

如何解决:

        if yourself_obj_copy:
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': '你的模块名.模型名',
'res_id': yourself_obj_copy.id,
'context': self.env.context,
'flags': {'initial_mode': 'edit'},
}

加上上方红色部分,就可以默认进入form视图的编辑状态。

这里需要注意一下:odoo自带的服务器动作 -- 复制  其实也不是复制,而是创建了一份新的直接保存了,

即使你点击复制进入新的编辑界面,这时不点“保存”,直接“丢弃”,其实是没有效果的,这条记录已经在点击“复制”的时候创建了。

页面跳转可以参考如下文章:

在odoo视图中有时点击按钮需要跳转到另一个视图,此时有如下参数需要注意

系统的默认值:
_defaults = {
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'context': '{}',
        'limit': 80,
        'target': 'current',
        'auto_refresh': 0,
        'auto_search':True,
        'multi': False,
    }
# type: 动作类型,默认为ir.actions.act_window
# view_type: 跳转时打开的视图类型
# view_mode: 列出允许使用的视图模式
# context: 给目标视图传参数,如默认搜索之类的,如{‘search_default_group_assign’:1}
# limit: 列表视图一页的记录数
# target: 打开新视图的方式,current是在本视图打开,new是弹出一个窗口打开
# auto_refresh:为1时在视图中添加一个刷新功能
# auto_search:加载默认视图后,自动搜索
# multi:视图中有个更多按钮,若multi设为True, 更多按钮显示在tree视图,否则显示在form视图
 

以下内容是一些需特别注意的参数

# res_model:想打开视图的对应模块
# res_id: 参数为id,加载指定id的视图,但只在view_type为form时生效,若没有这个参数则会新建一条记录
# view_id: 参数是id,若一个模块有多于>1个视图时需要指定视图id,可根据视图名称去ir.ui.view模块搜索
# views:是(view_id,view_type) 元组对列表,第一组是动作默认打开的视图
# flags: 对视图面板进行一些设置,如{‘form’: {‘action_buttons’: True, ‘options’: {‘mode’: ‘edit’}}}即对form视图进行一些设置,action_buttons为True时调出编辑保存按钮,options’: {‘mode’: ‘edit’}时则打开时对默认状态为编辑状态
 
http://www.binqsoft.com/blog/2017/07/29/odoo%E8%AF%95%E5%9B%BE/
https://www.cnblogs.com/ygj0930/p/7150860.html

odoo开发笔记--自定义server action页面跳转注意的更多相关文章

  1. odoo开发笔记:Server+Action服务器动作自动触发执行

           Odoo的市场定位是SME(中小型企业),这个市场的ERP产品,多如牛毛,产品各具特色.不过,Odoo的自动化处理机制,可以睥睨天下,无人能及.包括一些大型国产软件,如用友.金蝶也不具备 ...

  2. WP开发笔记——WP APP添加页面跳转动画

    微软的toolkit团队为我们为我们提供了这样一套组件,叫做TransitionServices服务. 简单说一下它具备的效果: turnstile(轴旋转效果): turnstile feather ...

  3. odoo开发笔记-自定义发送邮件模板

    1. 首先激活开发者模式 2. 点击设置 - Email - 模板 - “选择你需要修改的模板” 我们以销售模块-报价单 邮件模板为例 来说明. quote order 原先默认模板,发出的邮件显示效 ...

  4. odoo开发笔记 -- div标签代替odoo button写法

    odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...

  5. struts2 action 页面跳转

    struts2 action 页面跳转 标签: actionstruts2redirect 2013-11-06 16:22 20148人阅读 评论(0) 收藏 举报 (1)type="di ...

  6. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  7. odoo开发笔记 -- 后台日志输出及分析

    odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件

  8. 安卓开发笔记——自定义广告轮播Banner(实现无限循环)

    关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...

  9. 网站开发进阶(三十七)JSP页面跳转问题解决

    JSP页面跳转问题解决 PS:本篇博文质量欠佳,仅供个人学习之用. 前言 在做Web开发时,对别人的应用(jsp+servlet)进行服务器部署时出现了页面跳转无效的情况.但是项目在本地未出现此状况. ...

随机推荐

  1. 开启Greenplum DataBase报错:could not bind IPv4 socket: Address already in use

    在运行gpstart时无法开启服务,查看日志看到下图所示错误: 查看日志错误大概是端口已被占用,所以无法重启. 解决方法: (1)利用ipcs查看数据库占用的共享内存.(如下图所示) (2)查看数据库 ...

  2. 第03章:MongoDB启动参数说明

    ①基本配置 --quiet # 安静输出 --port arg # 指定服务端口号,默认端口27017 --bind_ip arg # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默 ...

  3. Arria10中的IOPLL与fPLL

    最近在用Arria10.从480降到270的过程中,IOPLL出现问题,大概是说几个Bank的IOPLL已经被占用,没有空间再给别的IOPLL去适配. 因为在工程中,所用的PLL多达35个之多,其中明 ...

  4. PHP发起POST DELETE GET POST 请求

    原文链接:http://blog.csdn.net/lengxue789/article/details/8254667 关于POST,DELETE,GET,POST请求 get:是用来取得数据.其要 ...

  5. Redis集群的主从切换研究

    目录 目录 1 1. 前言 1 2. slave发起选举 2 3. master响应选举 5 4. 选举示例 5 5. 哈希槽传播方式 6 6. 一次主从切换记录1 6 6.1. 相关参数 6 6.2 ...

  6. leetcode-[3]Max Points on a Line

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line 思 ...

  7. android 数据库更新

    SQLiteOpenHelper封装       继承SQLiteOpenHelper类,在构造方法中分别需要传入Context,数据库名称,CursorFactory(一般传入null,为默认数据库 ...

  8. [jquery] 遮罩弹窗,点击遮罩弹窗自动隐藏

    $("#id_sign_forbidden_win .c-content").click(function(event){ event.stopPropagation(); // ...

  9. php支持连接sqlserver数据库

    php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...

  10. delphi中OleContainer的使用总结

    1:定义流的header , OleContainer要求流中要有Headertype //流Header的结构 TStreamHeader = record Signature: Integer; ...