Odoo 10 使用 search() 方法搜索活动和非活动记录

fue*_*git 3 orm python-2.7 odoo odoo-10

我有 many2many 字段 location_from_ids 并试图找到 location_ids 的所有孩子。

  location_from_ids = fields.Many2many(comodel_name='stock.location',relation='report_stock_config_location_from_rel',column1='report_id',column2='location_id',string='Locations From', context={'active_test': False})
Run Code Online (Sandbox Code Playgroud)

我正在使用 search() 方法来获取 location_ids 的所有孩子:

def _get_filter(self, report):
    res = ''
    if report.location_from_ids:
        location_ids = [l.id for l in report.location_from_ids]
        locations = self.env['stock.location'].search([('id', 'child_of', location_ids), ('active', 'in', ('t', 'f'))])
Run Code Online (Sandbox Code Playgroud)

我需要获取所有位置(活动和非活动)但只获取活动记录。我怎样才能获得所有记录:活动和非活动?

CZo*_*ner 8

只需“停用”搜索的主动测试:

locations = self.env['stock.location'].with_context(
    active_test=False).search(
        [('id', 'child_of', location_ids)])
Run Code Online (Sandbox Code Playgroud)