返回Many2many / One2many的所有列表

时间:2017-11-30 15:19:08

标签: odoo odoo-10

我有这个代码,我想返回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'
                                                     })],
                                        })]
                        })

1 个答案:

答案 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