ODOO:错误创建新表单视图:字段“ Arch”失败了约束:无效的视图定义



我想创建与新数据模型关联的新表单视图,我创建一个具有子菜单"菜单"的新菜单项"菜单",然后我想自定义操作视图。这是我的代码:

我的XML文件:

我的数据模型:

from openerp.osv import fields, osv
class hr_cutomization(osv.osv):
_inherit = "hr.employee"
_columns = {
  'new_field_ID': fields.char('new filed ID',size=11)
}
_default={
  'new_field_ID':0
}
hr_cutomization()
class hr_newmodel(osv.osv):
_name = "hr.newmodel"
_columns = {
  'field1': fields.char('new filed1',size=11),
  'field2': fields.char('new filed2',size=11)
}
_default={
  'field1':0
}
hr_newmodel()

更新模块时,我会收到此错误:

parseerror:" validateError 字段(S)arch因约束而失败:无效视图定义 错误详情: 元素'

我的代码中有什么错?

只需在XML文件中更新您的查看操作有些人认为这样的

<record id="new_action" model="ir.actions.act_window">
        <field name="name">New</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">hr.newmodel</field>
        <field name="view_type">form</field>
        <field name="view_mode">form,tree</field>
        <field name="view_id" ref="view_new_form"/>
    </record>

只需更新您的PY文件

from openerp.osv import fields, osv
class hr_cutomization(osv.osv):
_inherit = "hr.employee"
_columns = {
  'new_field_ID': fields.char('new filed ID',size=11)
}
_default={
  'new_field_ID':'0'
}
hr_cutomization()
class hr_newmodel(osv.osv):
_name = "hr.newmodel"
_columns = {
  'field1': fields.char('new filed1',size=11),
  'field2': fields.char('new filed2',size=11)
}
_default={
  'field1':'0'
}
hr_newmodel()

在此.py中,您被分配为char字段,但您将_defaults用作0(作为integer)您必须将其作为字符而不是_default属性中的整数传递。

您是在Openerp 7.0中创建模块,然后将新的form 属性添加为 version =" 7.0" 在您的 form 中您的视图标签。如果在Odoo 8.0中,则不需要这样做。

我遇到了相同的错误,就我的.py文件中的缩进是否错误。尝试以正确的方式进行凹痕:

from openerp.osv import fields, osv
class hr_cutomization(osv.osv):
    _inherit = "hr.employee"
    _columns = {
      'new_field_ID': fields.char('new filed ID',size=11)
    }
    _default={
      'new_field_ID':'0'
    }
    hr_cutomization()
class hr_newmodel(osv.osv):
    _name = "hr.newmodel"
    _columns = {
      'field1': fields.char('new filed1',size=11),
      'field2': fields.char('new filed2',size=11)
    }
    _default={
      'field1':'0'
    }
    hr_newmodel()

我认为这种方式可以工作

相关内容

  • 没有找到相关文章

最新更新