Odoo 10-具有onchange的功能

时间:2018-10-05 13:25:12

标签: python odoo

我要向您寻求帮助,以完成一项功能,使您可以根据机构选择学校级别。我不知道如何升级到我的最后一行代码。目前,选择的ID是我录制的第一张唱片。现在,我想要比较的第一个元素的ID。谢谢

@api.onchange('school_name_id')
def _retrieve_grade_id(self):
    if self.school_name_id:
        records = self.env['horanet.school.grade'].search([])
        for rec in records:
            if rec.name:
                level = rec.name
                level = level.split()[-1]
                print level
                if level in self.school_name_id.name:
                    print "Il y a un mot trouvé"
                    self.school_level_id = self.env['horanet.school.grade'].search([], limit=1).id

2 个答案:

答案 0 :(得分:1)

只需替换最后一行。从这个:

self.school_level_id = self.env['horanet.school.grade'].search([], limit=1).id

对此:

self.school_level_id = rec.id
break
添加

break以防止发现第一个级别被另一个结果替换

答案 1 :(得分:0)

Henion,

基于“ id”而不是“ name”的功能的第一个思考代码。因为名称可能是多个,但id不是。我也认为您的行中的问题“如果self.school_name_id.name中的级别:”,则可以将其与equal(==)进行比较。