Bonjour,
Je débute dans odoo et j'essaye de réaliser un héritage entre deux classes, mais j'ai un petit problème.
J'ai créer deux classes dont une des deux hérité de l'autre.
Voici ma première class :
Et celle qui l'hérit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13class zentest(osv.osv): _name = "zentest.stagiaire" _columns = { 'myshare' : fields.char('champ char'), 'myshare3' : fields.text('champ text'), 'myshare6' : fields.date('champ date'), 'myshare9' : fields.selection([('1','selection 1'),('2','selection 2'),('3','selection 3'),('4','selection 4')],'champ selection'), } _defaults = { 'myshare9': '1', }
Ensuite dans mon fichier xml qui me permet d'afficher les vues j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14class zentestbase2(osv.osv): _name = "zentest.objectherit" _inherit = 'zentest.stagiaire' _columns = { 'floatchamp' : fields.float('champ float',digits=(12,2)), 'integerchamp' : fields.integer('champ integer',size=5), } _defaults = { 'floatchamp': '12.34', 'integerchamp': '100', }
Et voici l'autre code xml pour ma classe hériter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40<record id="view_zentest" model="ir.ui.view"> <field name="name">zentest.stagiaire.form</field> <field name="model">zentest.stagiaire</field> <field name="arch" type="xml"> <form string="mon premier machin"> <label for="myshare" string="Champ de saisie"/> <field name="myshare"/> <label for="myshare3" string="Champ Text"/> <field name="myshare3" placeholder="Vous pouvez ecrire un jolie petit message si vous voulez "/> <label for="myshare6" string="Champ Date"/> <field name="myshare6"/> <label for="myshare9" string="Champ de Selection"/> <field name="myshare9"/> </form> </field> </record> <record id="view_zentest_tree" model="ir.ui.view"> <field name="name">zentest.stagiaire.tree</field> <field name="model">zentest.stagiaire</field> <field name="arch" type="xml"> <tree string="mon premier machin"> <field name="myshare"/> <field name="myshare3"/> <field name="myshare6"/> <field name="myshare9"/> </tree> </field> </record> <record model="ir.actions.act_window" id="action_montest"> <field name="name">Afficher mon stage</field> <field name="res_model">zentest.stagiaire</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record>
Donc pour la partie la je crois que je n'ai plus de problème, mais mon plus gros problème viens maintenant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34<record id="view_zentest_objectherit" model="ir.ui.view"> <field name="name">zentest.objectherit.form</field> <field name="model">zentest.objectherit</field> <field name="inherit_id" ref="zentest.view_zentest"/> <field name="arch" type="xml"> <xpath expr="//field[@name='myshare']" position="after"> <label for="floatchamp" string="float_herit"/> <field name="floatchamp"/> <label for="integerchamp" string="integer_herit"/> <field name="integerchamp"/> </xpath> </field> </record> <record id="view_zentest_objectherit_tree" model="ir.ui.view"> <field name="name">zentest.objectherit.tree</field> <field name="model">zentest.objectherit</field> <field name="inherit_id" ref="zentest.view_zentest_tree"/> <field name="arch" type="xml"> <xpath expr="//field[@name='myshare']" position="after"> <field name="floatchamp"/> <field name="integerchamp"/> </xpath> </field> </record> <record model="ir.actions.act_window" id="action_objectherit"> <field name="name">Stage_Herit</field> <field name="res_model">zentest.objectherit</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record>
Quand ensuite je vais sur mon interface de odoo j'ai bien mes champs herité dans la vue formulaire mais pas dans tree views.
Après plusieurs test, soit j’obtiens seulement les champs de la vue de hérité mais sans mes nouveaux champs, soit j'ai juste 1 seul de mes nouveaux champs qui apparaît.
Alors quand dans la view formulaire je retrouve tous mes champs que ce soit les nouveaux comme ceux qui sont hérité.
J'espère avoir expliquer mon cas le plus clair possible, merci d'avance pour toute réponse.
Cordialement







Répondre avec citation

Partager