Django Multi-Tenancy Without Schemas: Tenant Isolation as Queryset Rules, and a Profile Switcher That Can’t Be Spoofed

Smarter isolates its tenants in Django with two queryset methods, with_read_permission_for() and with_ownership_permission_for(), that every lookup of a user’s resource starts from, plus a profile switcher whose choice is checked against the user on the way in and again on…




