2016-03-11 4 views
0

Проблема:Домен ошибки на поле odoo

На моей основной модели я получил поле many2one, что указывает на мой подмодели. I Требуется отфильтровать типы, доступные для выбора для пользователя с вычисленным доменом. Однако это дает мне ошибку, что метод не существует. Кто-нибудь знает, как исправить эту ошибку? Пример

Код:

class my_class(models.Model):  
    _name = "my.model" 
    name = fields.Char('Name', required=True) 
    issue_type_id = fields.Many2one('my.model.type',"My Model Type", domain='_search_my_model_types', required=True) 

    @api.model 
    def _search_my_model_types(self): 
     my_model_type_ids = [] 
     return [('id', 'in', my_model_type_ids)] 

class my_class_type(models.Model): 
    _name = "my.model.type" 
    name = fields.Char("Name") 

Ошибка:

Uncaught Error: NameError: name '_search_my_model_types' is not defined 

ответ

2

Попробуйте это:

class my_class(models.Model):  
    _name = "my.model" 

    #method definition before use 
    @api.model 
    def _search_my_model_types(self): 
     my_model_type_ids = [] 
     return [('id', 'in', my_model_type_ids)] 

    name = fields.Char('Name', required=True) 
    #domain function not as a string 
    issue_type_id = fields.Many2one('my.model.type',"My Model Type", domain=_search_my_model_types, required=True) 
+0

Спасибо! Легко исправить. Теперь он отлично работает. – JordyRitzen

Смежные вопросы