如何从Many2many和One2many创建新记录
头等舱
.nav {
max-width: 853px;
margin: 0 auto;
width: 200px;
position: absolute;
left: 0;
z-index:2;
}
section.products {
width: calc(100% - 200px);
position: absolute;
right: 0;
z-index: 1;
}
第二课
class A(models.Model):
_name='risques.risque'
_rec_name='nom_risque'
nom_risque = fields.Char(required=True, string="Nom du Risque")
rubrique_ids = fields.Many2many('risques.rubrique', string="Rubrique", required=True)
第三课
class B(models.Model):
_name='risques.rubrique'
_rec_name='nom_rubrique'
critere_ids = fields.One2many('risques.critere','rubrique_id',required=True, string="Critére d'évaluation")
nom_rubrique = fields.Char(string="Rubrique")
如何在新目标记录中返回class C(models.Model):
_name='risques.critere'
_rec_name='nom_critere'
nom_critere = fields.Char(string="Nom du Critere")
note = fields.Float(string="Note", readonly=True, compute='_onchange_mesure')
rubrique_id = fields.Many2one('risque.rubrique',
string='Rubrique')
及其rubrique_ids
?
答案 0 :(得分:1)
尝试以下代码:
class A(models.Model):
_name='risques.risque'
_rec_name='nom_risque'
def cl_method(self):
self.create({'nom_risque': 'ABC',
'rubrique_ids' [(0, 0, { 'nom_rubrique': 'ABCD',
'critere_ids':
[(0, 0,{
'nom_critere': 'ABCDE',
'note': 1.0,
'rubrique_id': 1
})],
})]
})
def cl_exitings_ids_method(self):
self.create({'nom_risque': 'ABC',
'rubrique_ids' [(0, 0, { 'nom_rubrique': 'ABCD',
'critere_ids':
[(6, 0,[critere_ids])],
})]
})
您还可以了解创建One2many和Many2many记录:Filling Many2many field (odoo 8)
希望这对你有所帮助。