zoukankan      html  css  js  c++  java
  • odoo开发笔记 -- 前台不同视图访问同一个模型

    看一下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#/

  • 相关阅读:
    Lucene 全文检索
    Redis 集群
    Redis 初步接触
    Mybatis
    FastJson 介绍
    JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载
    持续集成与Devops关系
    GIT命令行统计代码提交行数
    一种简单的REST API接口加密实现,只允许自己的产品调用后台,防止接口被刷
    Beyond Compare 4.X 破解方法(亲测有效)
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8405491.html
Copyright © 2011-2022 走看看