如何正确更改odoo 12视图显示?

时间:2019-06-29 05:46:41

标签: python odoo odoo-12

您好如何更改odoo 12 view.xml以添加更多列,或在模块中添加内容?我试图使用这样的命令从头开始创建odoo 12模块

  

&“ c:\ Program Files(x86)\ Odoo 12.0 \ python \ python.exe”“ C:\ Program   文件(x86)\ Odoo 12.0 \ server \ odoo-bin“支架ms_produk   “ C:\ Program Files(x86)\ Odoo 12.0 \ server \ odoo \ addons”

然后生成我的基础项目,然后我尝试在models文件夹中添加名为“ produk.py”的模型,如下所示:

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class ProdukProduk(models.Model):
    _name = 'ms_produk.ms_produk'

    kd_produk = fields.Char(String='Kode Produk', required=True)
    nm_produk = fields.Char(String='Nama Produk', required=True)

然后在同一文件夹中,我编辑名为 init .py的文件并添加一个导入,如下所示:

# -*- coding: utf-8 -*-

from . import models
from . import produk

然后我为模块添加一个视图,我转到views文件夹并添加一个名为master_produk_view.xml的文件,然后添加一些看起来像这样的代码:

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>

        <record id="masterproduk_menu_action" model="ir.actions.act_window">
            <field name="name">Master Produk</field>
            <field name="res_model">ms_produk.ms_produk</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">Create Product
                </p>
            </field>
        </record>

        <menuitem id="masterproduk_menu" name="MasterProduk"/>
        <menuitem id="Masterproduk_new_product_menu" 
                parent="masterproduk_menu" 
                name="New Produk"
                action="masterproduk_menu_action"/>
    </data>
</odoo>

嘘声,我的模块完成了CRUD操作,但是当我查看视图时,它没有显示我的所有数据库列,仅显示了ID列,这是我认为它应该显示kd_produk和nm_produk列,该怎么办我要改变这个吗?

我试图将视图xml代码修改为如下形式:

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>

        <record id="masterproduk_menu_action" model="ir.actions.act_window">
            <field name="name">Master Produk</field>
            <field name="res_model">ms_produk.ms_produk</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="kd_produk"/>
                    <field name="nm_produk"/>
                </tree>
            </field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">Create Product
                </p>
            </field>
        </record>

        <menuitem id="masterproduk_menu" name="MasterProduk"/>
        <menuitem id="Masterproduk_new_product_menu" 
                parent="masterproduk_menu" 
                name="New Produk"
                action="masterproduk_menu_action"/>
    </data>
</odoo>

什么也没发生,它仍然只显示ID列,这让我发疯了,我已经重新启动了odoo服务器,在apps选项中升级了模块,我在这里错过了什么?

1 个答案:

答案 0 :(得分:2)

您可以尝试在模型中添加表单视图

  <record id="id" model="ir.ui.view">
       <field name="name">name</field>
       <field name="model">ms_produk.ms_produk</field>
       <field name="arch" type="xml">
           <form string="form string">
             define fields you want in your view
            </form>
        </field>
   </record>

您还可以添加树状视图

<record id="id" model="ir.ui.view">
       <field name="name">name</field>
       <field name="model">ms_produk.ms_produk</field>
       <field name="arch" type="xml">
           <tree string="Tree string">
              fields in tree view
           </tree>
       </field>
   </record>

并将其加载到动作中。 您可以参考此link