from django.db import models from django.core.exceptions import FieldError class TenantScopedQuerySet(models.QuerySet): def tenant(self, tenant=None): if tenant: return self.filter(tenant=tenant) return self class TenantScopedManager(models.Manager): def get_queryset(self): return TenantScopedQuerySet(self.model, using=self._db) def tenant(self, tenant=None): return self.get_queryset().tenant(tenant)