Odoo 10 - Функции с помощью onchange - PullRequest
0 голосов
/ 05 октября 2018

Я собираюсь попросить вас о помощи для выполнения функции, которая позволяет вам выбрать школьный уровень в соответствии с учебным заведением.Я не знаю, что нужно обновить до последней строки кода.В настоящее время выбранный идентификатор является самой первой из моих записей.Теперь я хочу идентификатор первого элемента, который находится в сравнении.Спасибо

@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 голосов
/ 06 октября 2018

Hennion,

Сначала подумайте о коде для функции, основанной на 'id', а не на 'name'.Потому что имя может быть несколько, но не идентификатор.Также я думаю, что проблема в вашей строке «если уровень в self.school_name_id.name:» может быть сравнима с равным (==) для подписи.

0 голосов
/ 05 октября 2018

Просто замените последнюю строку.Из этого:

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

К этому:

self.school_level_id = rec.id
break

добавлен разрыв, чтобы предотвратить обнаружение первого уровня, замененного другим результатом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...