콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
5 답글
15992 화면

Hello, I am starting developing openerp modules. What could be wrong with the following code:

school.py

from openerp.osv import osv,fields

class school(osv.osv):
    _name = "school"
    _description = "This will hold the school information"
    _columns = {
        'school_name': fields.char('School Name', size=30,required=True),
        'address': fields.char('Postal Address', size=50 , required=True),
        'city': fields.char('City', size=30, required=True),
                }

school()

school_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record model="ir.ui.view" id="school_base_form">
            <field name="name">school.form</field>
            <field name="model">school.school</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <form string="School">
                    <field name="school_name"/>
                    <field namme="address"/>
                    <field name="city"/>
                </form>
            </field>
    </record>

        <record model="ir.actions.act_window" id="action_school_form">
            <field name="name">school</field>
            <field name="res_model">school.school</field>

        </record>
    <menuitem name="School Management" id="school_menu" />
    <menuitem name="Schools" parent="school_menu" id="schools_menu" action="action_school_form" />
    </data>
</openerp>

I am getting the error: ValidateError Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

What could be the problem?

아바타
취소
작성자

Corrected as per this question but still it doesn't work.

Look at my answer, either you did not change the post or you still have the same problem. _name in .py, model in view definition and res_model in action definition should all be te same!

베스트 답변

Your model is called just school not school.school.

Change:

<field name="res_model">school.school</field>

for:

<field name="res_model">school</field>

and in the view change:

<field name="model">school.school</field>

for:

<field name="model">school</field>

Or you can just change, in the .py

_name = "school"

for:

_name = "school.school"

And it should work!

Hope it fix your problem!

아바타
취소
작성자 베스트 답변

The code:

from openerp.osv import osv,fields

class school(osv.osv):
    _name = "school"
    _description = "school information"
    _columns = {
        'school_name': fields.char('School Name', size=30,required=True),
        'address': fields.char('Postal Address', size=50 , required=True),
        'city': fields.char('City', size=30, required=True),
    }

school()

and the view:

<?xml version="1.0" encoding="utf-8"?>
    <openerp>
    <data>
        <record model="ir.ui.view" id="school_base_form">
            <field name="name">school.form</field>
            <field name="model">school</field>
            <field name="arch" type="xml">
                <form string="School" version="7.0">
                    <field name="school_name"/>
                    <field name="address"/>
                    <field name="city"/>
                </form>
            </field>
    </record>

        <record model="ir.actions.act_window" id="action_school_form">
            <field name="name">school</field>
            <field name="res_model">school</field>

        </record>
<menuitem name="School Management" id="school_menu" />
<menuitem name="Schools" parent="school_menu" id="schools_menu" action="action_school_form" />
</data>
</openerp>

The same error... Where is the damn bug?

아바타
취소

I tried your given code and it's working fine without any error.

작성자

It works....after restarting openerp! Thank you all for your assistance.

베스트 답변

you should remove the line

<field name="type">form</field>

Also line

<field namme="address"/>

should be replaced by

<field name="address"/>

In the log file normally there is a more detailed description of the error.

아바타
취소
작성자

Done that...still the same problem.

베스트 답변

res_model in action should have the same model name.

<field name="res_model">school</field>
아바타
취소
베스트 답변

I had the same problem today. I think the xml parser cannot understand lines like:

<field name="adress"/>

You should try:

<field name="address" />

Look at the space before the / ...

I hope that solves your problem :-)

아바타
취소
관련 게시물 답글 화면 활동
1
3월 15
2634
1
3월 15
7448
1
3월 15
2656
4
3월 15
5797
1
3월 15
4192