我在我的module.py中得到了这段代码
class certificados(osv.osv):
_name = 'certificados.certificados'
_description="Certificados de No Produccion"
_inherit = ['mail.thread', 'ir.needaction_mixin']
_columns = {
'Item' : fields.integer('Item'), 'Registro_Numero' : fields.integer('Registro Numero'),
'Fecha_de_Emision': fields.date('Fecha de Emision', required=True, select=True),
'Fecha_de_Solicitud': fields.date('Fecha de Solicitud', required=True, select=True),
'Fecha_del_Documento': fields.date('Fecha del Documento', required=True, select=True),
'Vigencia' : fields.integer('Vigencia'), 'cert_ids' : fields.one2many('certificados.line','requisicion_id','Items del Certificado',states={'done': [('readonly', True)]}),
'descripcion' : fields.text('Descripcion'),
'notas' : fields.text('Notas'),
}
class certificados_line(osv.osv):
_name = "certificados.line"
_description="Certificados No Produccion"
_columns = {
'Codigo_Arancelario' : fields.integer('Codigo Arancelario'),
'product_id' : fields.many2one('product.product', 'Material'),
'Descripcion_Arancelaria' : fields.char('Descripcion Arancelaria', size=42, required = True, translate = True),
'Especificaciones_Tecnicas' : fields.char('Especificaciones Tecnicas', size=60, required = True, translate = True),
'Cantidad' : fields.float('Cantidad'), 'Unidad_de_Medida': fields.many2one('product.uom', 'Unidad de Medida'),
'Precio_Unitario_Declarado' : fields.float('Precio Unitario Declarado'), 'Moneda' : fields.many2one('res.currency', 'Moneda'),
'Valor_En_Divisas' : fields.float('Valor En Divisas'),
'requisicion_id' : fields.many2one('certificados.certificados', 'Certificados de No Produccion', ondelete='cascade'),
'Cantidad_Consumida' : fields.float('Cantidad Consumida'), 'Cantidad_Disponible' : fields.float('Cantidad Disponible'),
}
certificados_line()
以及我的module_view.xml中的表单视图模型
<record id="student_certificados_form" model="ir.ui.view">
<field name="name">certificados.result.form</field>
<field name="model">certificados.certificados</field>
<field name="arch" type="xml">
<form string="Introducir los datos" version="7.0">
<sheet>
<div class="oe_edit_only">
<label for="Registro_Numero" class="oe_inline"/>
</div>
<h1>
<field name="Registro_Numero" class="oe_inline"/>
</h1>
<group>
<group>
<field name="Fecha_de_Emision"/>
<field name="Fecha_de_Solicitud"/>
</group>
<group>
<field name="Fecha_del_Documento"/>
<field name="Vigencia"/>
</group>
</group>
<notebook>
<page string="Productos">
<field name="cert_ids">
<tree string="Productos">
<field name="product_id"/>
<field name="Codigo_Arancelario"/>
<field name="Descripcion_Arancelaria"/>
<field name="Especificaciones_Tecnicas"/>
<field name="Cantidad"/>
<field name="Precio_Unitario_Declarado"/>
<field name="Valor_En_Divisas"/>
<field name="Cantidad_Consumida"/>
</tree>
</field>
<separator string="Observaciones"/>
<field name="descripcion"/>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
xml中有更多代码,但这是有趣的代码,我的意思是,我认为无效的体系结构错误是由于我正在使用的模型(certificados.certificados),因为(cert_ids)正在调用另一个名为(certificados_line)的类),因此,我的问题是,如何在表单视图中嵌入多个模型?
我在另一个名为purchase_requisition的模块中看到,这是可能的,但是由于某些原因,我无法用这个完成它,有什么想法吗?
最佳答案
第一个问题
最新的第一篇文章讨论了您对证书的搜索视图。
在搜索视图中,您添加了不会在对象certificados中退出的字段.certificados
您已添加字段<field name="Valor_En_Divisas" string="Valor En Divisas" />
,但实际上此字段在对象certificados.line中退出
<record model="ir.ui.view" id="certificados_search">
<field name="name">certificados.search</field>
<field name="model">certificados.certificados</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Buscar Certificados" >
<field name="notas" string="Notas" />
<field name="Valor_En_Divisas" string="Valor En Divisas" />
</search>
</field>
</record>
现在讨论第二个问题
<record id="certificados_certificados_tree" model="ir.ui.view">
<field name="name">certificados.result.tree.new</field>
<field name="model">certificados.certificados</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Crear_Certificado" >
<field name="Item" />
<field name="Codigo_Arancelario" />
<field name="Descripcion_Arancelaria" />
<field name="Especificaciones_Tecnicas" />
<field name="Precio_Unitario_Declarado" />
<field name="Valor_En_Divisas" />
<field name="Cantidad_Consumida" />
<field name="Cantidad_Disponible" />
</tree>
</field>
</record>
在此树形视图中,您为对象certificados.certificados定义了与该对象
<field name="Item" />
相关的一个字段,所有其他字段与certificados.line对象相关。当您从搜索和表单视图中删除属于certificados.line的字段时,它可以完美运行。
如我所说,我只是从上一个问题中解决了一个问题,这两个问题也在您的视图中,当定义您的树形视图或搜索视图时,请考虑将该对象的字段置为拥有。
关于python - 无效的XML View 架构问题-OpenErp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15916187/