OpenERP:View Architecture的XML无效

时间:2014-01-28 16:57:40

标签: python xml openerp

当我尝试在OpenERP中安装此模块时,出现以下错误:

"Error occurred while validating the field(s) arch: Invalid XML for View Architecture!"

你们当中有些人会这么好,告诉我出了什么问题吗?这是我的.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>

        <record model="ir.ui.view" id="pec_email_field">
            <field name="name">pec.email.field</field>
            <field name="model">my.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <field name="email" position="after">
                   <field name="pec_email" string="Certified email adress" type="object"/>
                </field>        
            </field>
        </record> 
    </data>
</openerp>

这是我的.py文件

from osv import osv, fields

class my_partner(osv.osv):

    _inherit = "res.partner"
    _name = "my.partner"
    _columns = {'pec_email': fields.char('PEC Email', size=30, required=False) }

my_partner()

感谢

4 个答案:

答案 0 :(得分:0)

你做错了什么,你继承了base.view_partner_form,在模型中你将使用my.partner,你应该继承对象res.partner并添加到模型res.partner

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>

        <record model="ir.ui.view" id="pec_email_field">
            <field name="name">pec.email.field</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <field name="email" position="after">
                   <field name="pec_email" string="Certified email adress" type="object"/>
                </field>        
            </field>
        </record> 
    </data>
</openerp>

像这样添加

的问候,

答案 1 :(得分:0)

这是正确的代码,您只能使用按钮类型

    

    <record model="ir.ui.view" id="pec_email_field">
        <field name="name">pec.email.field</field>
        <field name="model">my.partner</field>
        <field name="inherit_id" ref="base.view_partner_form"/>
        <field name="arch" type="xml">
            <field name="email" position="after">
               <field name="pec_email" string="Certified email adress"/>
            </field>        
        </field>
    </record> 
</data>

答案 2 :(得分:0)

检查你的py文件中是否已将res.partner继承到my.partner,并且错误地使用了按钮到字段标记的属性。检查一下,这将为您提供字段标记的注册属性。 https://doc.openerp.com/6.0/developer/5_16_data_serialization/xml_serialization/所以改进这个,

<field name="pec_email" string="Certified email adress"/>

希望这会对你有所帮助。

答案 3 :(得分:0)

当您将模型继承到新模型时,您必须为新模型定义新视图。您无法继承该模型的视图。在这里,您将继承为res.partner定义的视图。请为my.partner

创建一个新视图