3

您好,我是 OpenERP 新手。我刚刚从 OpenERP 的官方合作伙伴那里购买了视频。我一边看他们的视频一边练习。在他们的实践中,我成功地完成了所有工作,但是在向他们的视频中运行的代码添加了一些功能后出现了以下错误。


OpenERP 服务器错误

Client Traceback (most recent call last):
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\http.py", line 204, in dispatch
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\controllers\main.py", line 1132, in call_button
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\controllers\main.py", line 1120, in _call_kw
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\session.py", line 42, in proxy
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\session.py", line 30, in proxy_method
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\session.py", line 103, in send


Server Traceback (most recent call last):
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\web\session.py", line 89, in send
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\osv\osv.py", line 197, in execute
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\base\module\module.py", line 513, in button_immediate_upgrade
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\base\module\module.py", line 475, in _button_immediate_function
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\pooler.py", line 39, in restart_pool
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\registry.py", line 218, in new
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\loading.py", line 350, in load_modules
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\loading.py", line 256, in load_marked_modules
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\loading.py", line 188, in load_module_graph
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\loading.py", line 76, in <lambda>
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\modules\loading.py", line 124, in _load_data
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\convert.py", line 954, in convert_xml_import
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\convert.py", line 847, in parse
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\convert.py", line 805, in _tag_record
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\convert.py", line 824, in id_get
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\convert.py", line 833, in model_id_get
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\cache.py", line 18, in lookup
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\cache.py", line 46, in lookup
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\base\ir\ir_model.py", line 869, in get_object_reference
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\cache.py", line 18, in lookup
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\.\openerp\tools\cache.py", line 46, in lookup
  File "C:\Program Files\OpenERP 7.0-20130918-231035\Server\server\openerp\addons\base\ir\ir_model.py", line 862, in _get_id
ValueError: No such external ID currently defined in the system: vetclinic.base_view_partner_form

我的 LOC 是:

初始化.py

 import vetclinic

开放程序.py

    {
'name' : 'Vet Clinic',
'version' : '1.0' ,
'description' : """
    Vet Clinic application
    - List of Animals
    """ ,
    'author' : 'Ejaz' ,
    'website' : 'http://openerp.com',
    'depends' : ['base_setup'],
    'data' : ['vetclinic_view.xml'],
    'demo' :[],
    'installable' : True,
    'auto_install' : False,
    }

兽医诊所.py

from openerp.osv import osv, fields
class vetclinic_animal(osv.Model):
    _name = "vetclinic.animal"
    _columns = {
        'name' : fields.char('Name', required= True, size=64),
        'birthdate' : fields.date('Birth Date'),
        'classification_id' : fields.many2one('vetclinic.classification', 'Classification'),
        'breed_id' : fields.many2one('vetclinic.breed', 'Breed'),
        'description' : fields.text('Description'),
        'labels_ids' : fields.many2many('vetclinic.labels', 'rel_animal_labels', 'animal_id', 'tags_id', string = "Labels"),
        'history' : fields.text("History"),
        'res_partner_id' : fields.many2one('res.partner', 'Owner'),


        }

class vetclinic_res_partner(osv.Model):
    _inherit= "res.partner"
    _name= "res.partner"
    _columns= {
        'animal_ids' : fields.one2many('vetclinic.animal', 'res_partner_id', string= "Pets"),
        }   
class vetclinic_classification(osv.Model):
    _name= "vetclinic.classification"

    _columns= {
        'name' : fields.char('Name', size= 32),
        }

class vetclinic_breed(osv.Model):
    _name= "vetclinic.breed"
    _columns= {
        'name' : fields.char('Name', size= 32),
        }

class vetclinic_labels(osv.Model):
    _name= "vetclinic.labels"
    _columns= {
        'name' : fields.char('Name', size= 64),
        }

vetclinic_view.py

 <?xml version= "1.0" encoding= "utf-8"?>
<openerp>
    <data>
        <record id= "vetclinic_animal_action" model = "ir.actions.act_window">
        <field name= "name">Animals</field>
        <field name= "res_model">vetclinic.animal</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">Click Create to add a new animal record.</p>
        </field>
        </record>

        <record id= "vetclinic_classification_action" model = "ir.actions.act_window">
        <field name= "name">Classifications</field>
        <field name= "res_model">vetclinic.classification</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">Click Create to add a new classification record.</p>
        </field>
        </record>

        <record id= "vetclinic_breed_action" model = "ir.actions.act_window">
        <field name= "name">Breeds</field>
        <field name= "res_model">vetclinic.breed</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">Click Create to add a new breed record.</p>
        </field>
        </record>

        <record id= "base_view_partner_form" model = "ir.ui.view">
            <field name= "model">res.partner</field>
            <field name= "inherit_id" ref="base_view_partner_form"/>
            <field name= "arch" type="xml">
                <notebook position= "inside">
                    <page string= "Pets">
                    <field name="animal_ids" colspan="4" nolable="1"/>
                    </page>
                </notebook>
            </field>
        </record>

        <record id= "vetclinic_animal_form_view" model = "ir.ui.view">
        <field name= "name">vetclinic.animal.form.view</field>
        <field name= "view_type">form</field>
        <field name= "model">vetclinic.animal</field>
        <field name= "arch" type = "xml">
            <form string = "Animal">
                <field name = "name"/>
                <field name = "birthdate"/>
                <field name = "breed_id"/>
                <field name = "classification_id"/>
                <field name = "labels_ids" widget ="many2many_tags"/>
                <notebook colspan = "4">
                    <page string= "Animal Hitory">
                        <field name = "history" 
                            nolabel="1" 
                            placeholder= "Animal medical history goes here"/>
                            </page>
                </notebook>
                </form>
        </field>
        </record>

                <menuitem id= "vetclinic" name="Vet Clinic"/>
        <menuitem id= "vetclinic_menu" name= "Vet Clinic" parent="vetclinic" />
        <menuitem id= "vetclinic_animal_menu"
                    name = "Animals"
                    parent= "vetclinic_menu"
                    action = "vetclinic_animal_action"
            />
    <menuitem id= "vetclinic_classification_menu"
                    name = "Classifications"
                    parent= "vetclinic_menu"
                    action = "vetclinic_classification_action"
            />
    <menuitem id= "vetclinic_breed_menu"
                    name = "Breeds"
                    parent= "vetclinic_menu"
                    action = "vetclinic_breed_action"
            />
    </data>
</openerp>
4

1 回答 1

2

这是因为您没有正确引用 xml 视图。在 xml 中应该是这样的

  <record id= "base_view_partner_form_inherited" model = "ir.ui.view">
        <field name= "model">res.partner</field>
        <field name= "inherit_id" ref="base.view_partner_form"/>
        <field name= "arch" type="xml">
            <notebook position= "inside">
                <page string= "Pets">
                <field name="animal_ids" colspan="4" nolable="1"/>
                </page>
            </notebook>
        </field>
    </record>

其中 base 是modelandview_partner_form是该模型中的视图。并且您还应该更改记录的 ID。请记住,id每个地方都应该是独一无二的。

于 2013-09-29T18:00:24.023 回答