Yet another package for multi-tenancy in Django

Exploring the challenges of having multi-tenancy in the Django web framework

Lorenzo Peña

Abstractions Architecture Databases Django Django Projects

See in schedule Download/View Slides

Django is a popular, solid web framework for perfectionists with deadlines, with a wide ecosystem of packages that extend its powers in multiple directions. In the era of peaking popularity of Node/Deno, microservices, and heavyweight browser rendered webapps, Django still remains a triumphant monolith maker, very capable of major undertakings in the web arena.

For all you Django-lovers out there, it seems to me like a matter of time before you have to do some form of multi-tenancy in Django. Taking a solution that works well for one tenant and extending it to multiple tenants should still be a problem for perfectionists with deadlines. Interestingly, when it comes to covering all the many facets of multi-tenancy, Django can be not so batteries included, as one might end up working around or 'hacking' the framework in order to get things done.

In this talk I will walk you through the challenges of bringing multi-tenancy to a Django project. We'll cover the fundamental plumbing required to make it work reliably, securely, and elegantly. You will be expected to have a basic knowledge of Django (models, settings, users, URL reversing), and you will learn the working logic behind popular multi-tenancy packages like [django-tenant-schemas](https://github.com/bernardopires/django-tenant-schemas) and [django-tenants](https://github.com/tomturner/django-tenants).

Type: Talk (30 mins); Python level: Beginner; Domain level: Intermediate


Lorenzo Peña

I have been using Django for 11 years, since I fell in love with the framework back in 2009, while I was taking a web development class in college. Now a member of the Django Software Foundation, and co-creator and maintainer of django-pgschemas and django-unmigrate.

Former professor of Logics and Programming at the University of Holguín. I currently teach Biblical studies in my local Methodist church.