Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

[已解决]odoo10 默认视图设为list视图



  • 尝试如下,还是不能把视图显示默认设置为tree视图:
    一、把view_mode中的值tree放在最前面,代码如下:不起作用的

    <record id="action_partner_form" model="ir.actions.act_window">
                <field name="name">Customers</field>
                <field name="type">ir.actions.act_window</field>
                <field name="res_model">res.partner</field>
                <field name="view_type">form</field>
                <field name="view_mode">tree,kanban,form</field>
                <field name="context">{"search_default_customer":1}</field>
                <field name="search_view_id" ref="view_res_partner_filter"/>
                <field name="help" type="html">
                  <p class="oe_view_nocontent_create">
                    Click to add a contact in your address book.
                  </p><p>
                    Odoo helps you easily track all activities related to
                    a customer: discussions, history of business opportunities,
                    documents, etc.
                  </p>
                </field>
            </record>
    

    二、添加ir.actiosn.act_window.views视图,通过sequence指定先后顺序,代码如下,还是没有作用的

     <record id="action_partner_tree_view1" model="ir.actions.act_window.view">
                <field eval="1" name="sequence" />
                <field name="view_mode">tree</field>
                <field name="view_id" ref="view_partner_tree"/>
                <field name="act_window_id" ref="action_partner_form"/>
            </record>
            <record id="action_partner_form_view1" model="ir.actions.act_window.view">
                <field eval="2" name="sequence"/>
                <field name="view_mode">kanban</field>
                <field name="view_id" ref="res_partner_kanban_view"/>
                <field name="act_window_id" ref="action_partner_form"/>
            </record>
            <record id="action_partner_form_view2" model="ir.actions.act_window.view">
                <field eval="3" name="sequence"/>
                <field name="view_mode">form</field>
                <field name="view_id" ref="view_partner_form"/>
                <field name="act_window_id" ref="action_partner_form"/>
            </record>
    


  • 解决方法如下:在view_ids字段,添加sequence属性,这个属性就是排序的,代码如下:

    <record id="product_template_action_all" model="ir.actions.act_window">
            <field name="name">Parts</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.template</field>
            <field name="view_mode">tree,kanban,form</field>
            <field name="view_type">form</field>
            <field name="context">{}</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">
                    Click to define a new product.
                </p>
            </field>
            <field name="view_ids" eval="[(5, 0, 0),
                    (0, 0, {'sequence': '1', 'view_mode': 'tree', 'view_id': ref('product_template_tree_view')}),
                    (0, 0, {'sequence': '2', 'view_mode': 'kanban', 'view_id': ref('product_template_kanban_view')}),
                    (0, 0, {'sequence': '3', 'view_mode': 'form', 'view_id': ref('product_template_form_view')})]"/>
        </record>
    



  • 管理员

    这样改法跟之前的

    <record id="action_partner_form_view1" model="ir.actions.act_window.view">
                <field eval="2" name="sequence"/>
                <field name="view_mode">kanban</field>
                <field name="view_id" ref="res_partner_kanban_view"/>
                <field name="act_window_id" ref="action_partner_form"/>
            </record>
    

    是一样的。


  • 管理员

    非常感谢能在找到方案后,更新帖子分享。赞👍一个



  • @digitalsatori
    从源码看它们之间的关系看,这个应该跟我上面的效果是一样的,但是这样写,本地总是报错的,当然是view_ids跟上面只存在一种的情况,这个目前还没找到为什么这种写法错误的原因。


  • 管理员

    @hui 区别是在view_ids里你用(5, 0, 0)做了一个删除动作。
    在默认情况下view_ids的记录是自动生成的,其sequence值对应view_mode的顺序。

    之前你是直接在ir_act_window_view中新增记录,因为该表中已有记录并且由于有之前提到的约束,所以记录无法保存而出错。



  • @digitalsatori
    懂了,谢谢。

    是不是在我指定view_mode顺序的时候,即使不写view_ids,数据库页默认添加了这个记录及其sequence。。