我有这个代码,我想返回rubrique_ids列表和critere_ids列表,但它只返回最后一个,我有这个关系:
rubrique_ids = fields.Many2many('risques.rubrique', string="Rubrique", required=True)
critere_ids = fields.One2many('risques.critere','rubrique_id',required=True, string="Critére d'évaluation")
我在函数中使用此代码返回rubrique_ids列表和critere_ids列表,例如我有(rub1 {crit1,crit2},rub2 {crit3,crit4,crit5},rub3 {crit6,crit7}) 它返回rubrique_etude:rub3 {critere_etude => crit7}
rub = self.risque.rubrique_ids
for rec in rub:
rubriq = rec.nom_rubrique
critere_ids = rec.critere_ids
for obj1 in critere_ids:
crit = obj1.nom_critere
self.env['risque.evaluation'].create({'risque_etude': self.risque.nom_risque,
'etude': [(0, 0, {
'rubrique_etude': rubriq,
'critere_etude':[(0, 0, {'critere_name': crit,
'critere_evaluation': 'CO'
})],
})]
})
答案 0 :(得分:1)
尝试这个我修复了一些问题希望这是你想要的,因为 你的问题不明确。
rub = self.risque.rubrique_ids
for rec in rub:
rubriq = rec.nom_rubrique
critere_ids = rec.critere_ids
for obj1 in critere_ids:
crit = obj1.nom_critere
# FIX indentation so you create a risque evaluation for every critere_ids item
self.env['risque.evaluation'].create({
'risque_etude': self.risque.nom_risque,
'etude': [(0, 0, {
'rubrique_etude': rubriq,
'critere_etude':[(0, 0, {
'critere_name': crit,
'critere_evaluation': 'CO'
})], # end of critere_etude list
})] # end of edute list
}) # end of create