【发布时间】:2014-05-28 18:46:53
【问题描述】:
我是编辑/编程 OpenERP 模块的新手,所以我关注 this tutorial 来简单地向项目模块添加一个字段。我遇到了一些错误,我已经修复了所有错误,但现在我的 XML 根本无法验证。我已经阅读了多个论坛帖子,在 stackoverflow 上阅读了所有类似的帖子,但我无法弄清楚我的问题。所以,这是服务器的错误日志输出和我的文件:
openerp-server.log:
2014-05-28 17:56:13,120 29680 ERROR mct openerp.osv.orm: Can't find field 'mct_projects_machine' in the following view parts composing the view of object model 'project.project':
* project.project.form
Either you wrongly customized this view, or some modules bringing those views are not compatible with your current data model
2014-05-28 17:56:13,122 29680 ERROR mct openerp.addons.base.ir.ir_ui_view: Can't render view for model: project.project
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_ui_view.py", line 126, in _check_render_view
fvg = self.pool.get(view.model).fields_view_get(cr, uid, view_id=view.id, view_type=view.type, context=context)
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 2278, in fields_view_get
xarch, xfields = self.__view_look_dom_arch(cr, user, result['arch'], view_id, context=ctx)
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 1955, in __view_look_dom_arch
raise except_orm('View error', msg)
except_orm: ('View error', u"Can't find field 'mct_projects_machine' in the following view parts composing the view of object model 'project.project':\n * project.project.form\n\nEither you wrongly customized this view, or some modules bringing those views are not compatible with your current data model")
2014-05-28 17:56:13,128 29680 ERROR mct openerp.tools.convert: Parse error in /usr/lib/pymodules/python2.7/openerp/addons/mct_projects/mct_projects.xml:4:
<record model="ir.ui.view" id="mct_projects_project">
<field name="name">project.project.form</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="after">
<field name="mct_projects_machine"/>
</xpath>
</field>
</record>
__init__.py:
from openerp.modules import get_module_resource, get_module_path
import mct_projects
mct_projects.py:
from openerp.osv import fields, osv
class mct_projects(osv.osv):
_inherit = 'project.project'
_columnns = {
'mct_projects_machine': fields.integer('Mct projects Machine', size=11),
}
_defaults ={
}
mct_projects()
mct_projects.xml:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="mct_projects_project">
<field name="name">project.project.form</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.edit_project" />
<field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="after">
<field name="mct_projects_machine" />
</xpath>
</field>
</record>
</data>
</openerp>
__openerp__.py
{
'name': "MCT project integration",
'version': "1.0",
'author': "XYZ",
'category': "Tools",
'depends': ['project'],
'data': ['mct_projects.xml'],
'demo': [],
'installable': True,
}
就我的诊断而言,“拱门”字段有问题。似乎是说 mct_projects_machine 不是一个曾经创建过的字段,但我在 mct_projects.py 中声明了它,所以我很茫然。我完全按照教程进行操作,通过更改 xpath 表达式修复了 stackoverflow 上的另一篇文章,所以我尝试了。这是我现在的代码与教程之间的唯一区别 - 无论哪种方式,我都会遇到相同的错误。任何帮助将不胜感激。
【问题讨论】:
-
r 使用 windows 或 ubuntu ?
-
服务器实际上运行的是 Debian,所以非常接近 Ubuntu。
-
@user3684242 :我面临同样的问题。你能解决这个问题吗?
标签: python xml xpath openerp openerp-7