Aplique um filtro global a todas as tabelas para todas as consultas no SQLAlchemy

Estamos tentando configurar um serviço SaaS que ofereça suporte à multilocação em um banco de dados e esquema compartilhados. O que estamos planejando é ter uma coluna tenant_id em todas as nossas tabelas. o que eu gostaria de fazer é que o desenvolvedor não precise escrever nenhum código extra para minhas consultas filtrarem automaticamente todas as tabelas envolvidas por esse ID de inquilino. Existe uma maneira transparente de conseguir isso no SQL Alchemy?

Eu descobri como você pode substituir o objeto de consulta padrão:

self.session = sessionmaker(bind=engine, query_cls=TenantLimitingQuery)

Mas, dentro desse TenantLimitingQuery, como aplicá-lo a todas as tabelas envolvidas?

class TenantLimitingQuery(Query):
    def get(self, ident):
        #apply filter here

Minhas tabelas têm a mesma coluna para identificar o inquilino chamado tenant_id, portanto, nessa função get, preciso filtrar por tenant_id = current_tenant_id

questionAnswers(1)

yourAnswerToTheQuestion