我试图在我的新模块中添加一些字段,其中包含5个类,其中2个继承自自定义模块(product.template / res.partner)这些类与关系字段相关,我尝试了很多方法来制作它工作并纠正许多错误,但现在坚持这个
ParseError: "Invalid view definition
details of error :
the field `date_intv` doesn't existe
Contexte de l'erreur :
Vue `intervention.form`
[view_id: 2592, xml_id: n/a, model: c.intervention, parent_id: n/a]
None" while parsing file:///C:/Program Files (x86)/Odoo 9.0-20151125/server/openerp/addons/Gestion_CVT/fileds_intervention.xml:5, near
<record model="ir.ui.view" id="intervention_form">
<field name="name">intervention.form</field>
<field name="model">c.intervention</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="formulaire">
<field name="type_int"/>
<field name="properties4"/>
<field name="date_intv"/>
</form>
</field>
</record>
另外,我已经使用了osv.osv,但是没有使用equipement类,因为我是按类添加类,所以现在我将它们全部更改为models.Model所以这里是我的.py文件
# -*- coding: utf-8 -*-
from openerp import models, fields, api
class centre(models.Model):
_name = 'res.partner'
_inherit = ['res.partner']
rs_ctr = fields.Char(string='Réseau')
nb_ligne = fields.Integer(string='Lignes')
n_agr = fields.Integer(string='N° d\'agrèment')
chef = fields.Char(string='Chef centre')
prp = fields.Char(string='Propriétaire')
equipement_id = fields.Many2one('product.template','Equipements',select=True)
properties1 = fields.One2many('product.template','centre_id','Centres')
centre()
class equipement(models.Model):
_name = 'product.template'
_inherit = ['product.template']
num_ligne = fields.Integer(string='N° ligne')
model_mat = fields.Char(string='Model de materiel')
centre_id = fields.Many2one('res.partner','Centres',select=True)
marque_id = fields.Many2one('c.marque','Marques',select=True)
properties2 = fields.One2many('c.eptinv','equipement_id','Equipements')
equipement()
class marque(models.Model):
_name = 'c.marque'
_description = 'Marques'
name = fields.Char(string='Nom')
nom_four = fields.Char(string='Fournisseur')
properties3 = fields.One2many('product.template','marque_id','Marques')
marque()
class intervention(models.Model):
_name = 'c.intervention'
_inherits = {'c.eptinv': 'date_intv'}
STATE_SELECTION = [('c','Corrective'),('p','Préventive')]
_description = 'Interventions'
name = fields.Char(string='Nom')
type_int = fields.Selection(STATE_SELECTION,'Type d\'intervention')
properties4 = fields.One2many('c.eptinv','intervention_id','Interventions')
intervention()
class eptinv(models.Model):
_name = 'c.eptinv'
_description = 'EptInv'
date_intv = fields.Date(string='Date d\'intervention')
equipement_id = fields.Many2one('product.template','Equipements')
intervention_id = fields.Many2one('c.intervention','Interventions')
eptinv()
答案 0 :(得分:2)
字段{{yourArrayValue | formatArray}}
不存在这个错误发生的原因是,你将类eptinv继承到类干预中......这不是正确的方法......拿一个例子..
假设如果要将A类继承到B类,那么A类必须在B类之前定义,然后您可以将A类机制用于B类。 现在您必须更改类定义的顺序,如下图所示。
代码 ---&gt;
date_intv
我希望这个答案对你有帮助。