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#/

  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8405491.html
Copyright © 2011-2022 走看看