Я создал мастер с двумя полями od_document_type, od_employee, а затем отфильтровал одну пользовательскую модель, используя эти поля. Я получаю отфильтрованные id в document_datas. Теперь я хочу вернуть древовидное представление пользовательской модели с этими отфильтрованными ids.

Код

# -*- coding: utf-8 -*-

from odoo import api, fields, models, _

class OrchidPassportTracking(models.TransientModel):
    _name = "orchid.passport.tracking"

    od_document_type = fields.Many2one('orchid.document.type',string="Document Type")
    od_employee = fields.Many2one('hr.employee',string="Employee")

    def find_status(self):
        domain = []
        if self.od_document_type:
            document_type_domain = ('doc_id','=',self.od_document_type.id)
            domain.append(document_type_domain)
        if self.od_employee:
            employee_domain = ('employee_id','=',self.od_employee.id)
            domain.append(employee_domain)
        document_datas = self.env['orchid.document.expiry'].search(domain)

        return {
            'name':'Passport Tracking',
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'orchid.document.expiry',
            'type': 'ir.actions.act_window',
            'action':'action_orchid_document_type',
            'domain':{'id':[('id','in',document_datas.id)]},
        }

Я пробовал вот так, но в древовидном представлении отображается все содержимое, а не отфильтрованное содержимое. Что делать? Заранее спасибо..

0
vbt 17 Май 2018 в 10:18

1 ответ

Лучший ответ

Попробуйте код ниже,

return {
        'name':'Passport Tracking',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'res_model': 'orchid.document.expiry',
        'type': 'ir.actions.act_window',
        'action':'action_orchid_document_type',
        'domain':[('id','in',document_datas.ids)],
    }
2
KbiR 17 Май 2018 в 12:12