odoo 字段上的错误域

Error domain on odoo field

问题:

在我的主模型上,我有一个 many2one 字段指向我的子模型。 我想为具有计算域的用户过滤 select 可用的类型。但是它给我一个错误,该方法不存在。有人知道如何解决这个错误吗?

代码示例:

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

试试这个:

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)