如何在OpenERP7中使用inherit属性?

2024-05-06 02:14:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将字段“mobil\u brigada”添加到现有视图view_operaciones_brigadas_form,该视图位于名为operaciones的模块中。你知道吗

我的Python代码:

class operaciones_mobil(osv.osv):
   _name = 'operaciones.mobil'
   _inherit = 'operaciones.brigada'
   _columns = {
      'mobil_brigada': fields.many2one('add.mobil', 'Numero de Mobil', help="Numero de celular asignado a la brigada")
   }

我的XML代码:

<openerp>
<data>
    <!-- begin -->
     <record id="view_operaciones_mobil_form" model="ir.ui.view">
        <field name="name">operaciones.mobil.form</field>
        <field name="model">operaciones.mobil</field>
        <field name="inherit_id" ref="operaciones.view_operaciones_brigadas_form" />
         <field name="priority">100</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
           <field name="supervisor" position="after">
              <field name="mobil_brigada"/>
           </field>
        </field>
    </record>
    <!--/ end -->    
</data>

这是我要修改的原始视图:

<record id="view_operaciones_brigadas_form" model="ir.ui.view">
                <field name="name">operaciones.brigada.form</field>
                <field name="model">operaciones.brigada</field>
                <field name="arch" type="xml">
                    <form string="Employee">
                        <header>
                            <field name="state" widget="statusbar" />
                        </header>
                        <sheet>
                            <div class="oe_title">
                                <label for="ficha" class="oe_edit_only"/>
                                <h1>
                                    <field name="ficha" />
                                </h1>
                                <label for="tipo" class="oe_edit_only"/>
                                <h1>
                                    <field name="tipo"/>
                                </h1>
                                <label for="proyecto" class="oe_edit_only"/>
                                <h1>
                                    <field name="proyecto"/>
                                </h1>
                            </div>
                            <group>
                                <group colspan="8">
                                    <field name="tecnico1"/>
                                    <field name="tecnico2"/>
                                </group>
                                <group colspan="4">
                                    <field name="supervisor"/>
                                    <!-- it supposed to be here -->
                                </group>
                            </group>
                        </sheet>
                    </form>
                </field>
    </record>

但是什么都没有发生,我没有在控制台中得到错误,我是管理员,我已经添加到__openerp__.pyXML文件中。。。我做错什么了?你知道吗


Tags: nameformview视图fieldmodelgrouprecord
3条回答

如果只想修改现有表单,则必须从Python模型中删除属性_name。就你而言:

class operaciones_mobil(osv.osv):
   _inherit = 'operaciones.brigada'
   _columns = {
      'mobil_brigada': fields.many2one('add.mobil', 'Numero de Mobil', help='Numero de celular asignado a la brigada')
   }

您正在使用这种继承创建两个表(使用_name_inherit属性)。如果您只想向现有的表中添加新特性,那么应该删除_name属性。如果要同时保留两个表(operaciones.mobiloperaciones.brigada),请尝试为模型operaciones.mobil创建另一个完整的表单,因为不能将表单与不同的模型混合使用。你知道吗

在你的代码中你写_name = 'operaciones.mobil' 这意味着你要用新的模型或桌子 所以你不能像你写的那样继承视图

您需要创建新视图,包括旧视图和新字段,这样您的最终代码可能是

<record id="view_operaciones_mobil_form" model="ir.ui.view">
        <field name="name">operaciones.mobil.form</field>
        <field name="model">operaciones.mobil</field>
        <field name="inherit_id" ref="operaciones.view_operaciones_brigadas_form" />
         <field name="priority">100</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
              <form string="Employee">
                        <header>
                            <field name="state" widget="statusbar" />
                        </header>
                        <sheet>
                            <div class="oe_title">
                                <label for="ficha" class="oe_edit_only"/>
                                <h1>
                                    <field name="ficha" />
                                </h1>
                                <label for="tipo" class="oe_edit_only"/>
                                <h1>
                                    <field name="tipo"/>
                                </h1>
                                <label for="proyecto" class="oe_edit_only"/>
                                <h1>
                                    <field name="proyecto"/>
                                </h1>
                            </div>
                            <group>
                                <group colspan="8">
                                    <field name="tecnico1"/>
                                    <field name="tecnico2"/>
                                </group>
                                <group colspan="4">
                                    <field name="supervisor"/>
                                    <!  Your New Field   >
                                    <field name="mobil_brigada"/>
                                </group>
                            </group>
                        </sheet>
                    </form>
           </field>
        </field>
    </record>

相关问题 更多 >