2015-09-29 2 views
2

Добрый день! У меня есть проблема, которую я пытаюсь заполнить базу окно выбора на выбранных данных на другом поле выбора здесь мой кодНаселение базы поля выбора в другом поле выбора

.py

licensetype = fields.Many2one('hr.licensetype','License Type') 
license = fields.Many2one('hr.license','License') 

@api.one 
@api.onchange('licensetype') 
def getlicense(self): 
    if len(self.licensetype) > 0: 
     mdlLicense= self.env['hr.license'].search([('license_name', '=', int(self.licensetype[0]))]) 
     #raise Warning(mdlLicense.ids) 
     self.license = mdlLicense.ids 

, но все-таки заполнить все лицензии Я хочу, чтобы заполнить Лицензия на основе выбранного типа лицензии. Это в Odoo8

+1

Имя_импорта является целым числом? –

+0

Что значит 'if len (self.licensetype)> 0:'? Разве вы не хотели писать просто «if self.licensetype:» вместо этого? – forvas

+0

Сначала пожалуйста, уточните критерии поиска. имя_имя - целочисленный тип.? также расскажите о том, какое условие поиска вы хотите найти. Какова связь между hr.licensetype и hr.license? –

ответ

2

Домены

Домен представляет собой список критериев, каждый из которых критерием является тройка (либо список или кортеж) из (field_name, оператор, значение).

Здесь

  • field_name: Это строковый тип и должно быть от текущей модели или любого реляционного обход поля через/One2many поля Many2one с помощью членства оператора точки (.).

    - operator: Он предназначен для сравнения значения поля с переданным значением. Действительный список оператора (>,> =, <, < =, =,! =, = ?, ILIKE, как = как = ILIKE, не нравится, не ILIKE, childs_of, в, а не в)

  • value: Это для сравнения с значением поля.

Множество критериев можно объединить с тремя логическими операторами. Логическое И, логическое ИЛИ, логическое НЕ.

Подробнее о domain

Вы можете легко достигнуть этого, определяя область для этой области, нет необходимости писать дополнительный код.

Просто введите домен в свой XML-код.

<field name="licensetype" /> 
<field name="license" domain="[('licensetype','=',licensetype)]" /> 

Примечание:

Помните, что должна быть связь между hr.license и hr.licensetype. licensetype должен быть Many2one в hr.license.

Это даст тот же эффект, что и вы.

+0

@Empire Technologies Pvt Спасибо за помощь: D, Оно работает –