看一下partner这个表, 客户和供应商,都用这个表,那怎么区分呢:

供应商:

客户

注意这两个里面用domain来进行区分:
 
<field name="domain">[('s_category_id','!=',False)]</field>
<field name="domain">[('c_category_id','!=',False)]</field>
 
表相同,出来的结果不同。当然,这两个domain的字段不同,这样就能达到一个partner既是客户又是供应商的目的,当然,也方便其它操作,比如追踪买了多少单,卖了多少产品等等操作
 
然后,从不同的菜单或button里指定不同的action来调用不同的act_window吧:
 
<menuitemid='buy_vendor_menu'action='core.vendor_action'name="供应商"parent='menu_buy_master'sequence='10'/>
 
这样进入了vendor_action 对应的tree里,再点明细,进到form里
 
<menuitemid='sell_customer_menu'action='core.customer_action'name="客户"parent='menu_sell_master'sequence='10'/>
 
这样进入了customer_action对应的tree,form里
 
......
 
 

注:

(1)从many2one过来时可能会乱

(2)odoo视图窗口action id加载有优先级的顺序,如果菜单1中的form1和tree1引用了模型test,做了视图绑定,那么菜单2中的form2和tree2也要做相应的视图绑定,否则,启动服务后,前台界面加载的可能不是你需要显示的视图。

(3)这种写法虽然可以实现不同的窗口显示不同的菜单公用一个模型,但是,有一个地方需要注意,如果两个窗口菜单都使用了odoo的消息机制,那么当对其中的某个菜单进行操作的时候,给某位关注者发送了消息提醒,当该关注着用户登陆系统后,首先会受到消息提醒,在消息内容中,有时会携带相应的单号,当你点击单号跳转的时候可能会出现,系统不知道跳转到那个界面视图的情况。(这块需要小伙伴们仔细想一下。。。)

总结:

来自:http://note.youdao.com/share/?id=ed6f7d028c5bd5390796242ff527dd72&type=note#/

odoo开发笔记 -- 前台不同视图访问同一个模型的更多相关文章

  1. odoo开发笔记 -- 多个视图共用一个模型

    除了写序列优先绑定之外, 窗口引用的视图id也要绑定,否则页面加载的时候,可能不是自己需要显示的视图.例如:<field name="view_id" ref="c ...

  2. odoo开发笔记-tree列表视图拖拽排序

    odoo列表tree视图 拖拽排序 实现效果: 实现方式: 模型中定义字段: class CusYourModel(models.Model): """ 你的模型 &qu ...

  3. odoo开发笔记--前端搜索视图--按照时间条件筛选

    odoo在日常使用中,常会有这样的需要,比如,某个列表按照 日 .周.月.年来过滤搜索. 效果: 那么如何实现呢,如下是一段不同写法的样例代码,提供参考. <!--某模型 搜索视图--> ...

  4. odoo开发笔记 -- 多个子类继承同一个父类方法的执行顺序

    场景描述: odoo模块化开发的架构理念,科学&高效, 可以让很多业务场景,尽可能松耦合:让开发人员的主要精力,关注在当前的业务逻辑: 所谓「前人栽树,后人乘凉」,模块整体好比一棵大树, 开发 ...

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

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

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

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

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

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

  8. odoo开发笔记 -- 权限机制

    转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. https://www.cnblogs.com/crazyguo/p/6999408.html 第一篇:http: ...

  9. odoo开发笔记 -- 用户配置界面如何增加模块访问权限

    在odoo设置界面,点击用户,进入用户配置界面,会看到: 访问权 | 个人资料菜单 在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里, 那么,我们自己开发的模块如何显示在这块呢,从 ...

随机推荐

  1. CAS 单点登录 服务器整合

    概述 现在企业内部的系统越来越多,如果各个应用都有自己的用户系统,那么用户将不得不要记住不同系统的用户名密码,因此独立的用户系统应运而生,各个系统之间通过单点登录的方式,这样内部只需要记住一个用户名和 ...

  2. boost--ref

    1.ref简介 reference_wrapper包含在ref库中,它是引用包装器类型,即其内部包装了引用. 成员函数get().get_pointer()分别可以获得被包装的引用和其指针.使用需要包 ...

  3. C/C++中static,const,inline三种关键字详细总结

    一.关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因.作用谈起,全面分析static 修饰符的实质. static ...

  4. typecho 文章归档调用

    <style> div { display: block; } .title { position: relative; margin: 0; line-height: 32px; fon ...

  5. 容器,表格 ,div,元素可左右拖动,滚动 css

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. noip2017d2t2

    看数据范围想到状压,我们知道最后是选出一颗生成树,但边权的计算有一些有趣: 我们先选一个点做根:然后就发现边的权和深度有关:那我们按深度dp;即按层dp; dp[i][s]表示前i层选的点集为s,转移 ...

  7. 误删文件不用怕 grep命令帮你恢复

    作为长期的电脑使用者,肯定会有误删文件的经历,在 Mac OS X 和 Windows 上删除的文件都会默认进 “回收站”.在 Linux 上如果事先没有用别名(alias)修改默认的 rm 功能,r ...

  8. C#、.Net经典面试题目及答案

    1 请你说说   .NET  中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多.结构不能申明有默认的构造函数,为结构的副本是又编译器创建 和销毁的,所以不需要默认的构造函数和 ...

  9. Codeforces821B Okabe and Banana Trees 2017-06-28 15:18 25人阅读 评论(0) 收藏

    B. Okabe and Banana Trees time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  10. 第88讲:Scala中使用For表达式实现map、flatMap、filter

    今天我们来学习一下如何使用for表达式实现map.flatMap以及filter 首先,我们来看下map.map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程.最后得 ...