2016-03-11 12 views
0

問題:錯誤域

在我的主要模式,我已經有了一個指向我的子模型的many2one場。 我希望過濾可供選擇的類型以供具有計算域的用戶使用。但是,它給了我一個錯誤,該方法不存在。有人知道如何解決這個錯誤?

代碼示例:

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