Ultimate Django app for multi-tenant.
Project description
Django Ultratenant
Ultimate Django app for multi-tenant.
Documentation: https://django-ultratenant.readthedocs.io.
Installation
pip install django-ultratenant
How to Use
TODO
Pitch (Portuguese)
What is
Django multi-tenant library that implements diferent approachs
simple API with minimal setup
transparent for the application
suported isolations approachs: multi-db, multi-schema and tenant-id
- supported URL approachs: subdomain and path
tenant.url.com
url.com/tenant/admin/
support to multiple database suporte
good documentation
Alternatives
https://github.com/django-tenants/django-tenants/ - only Postgres with multi-schema
https://github.com/citusdata/django-multitenant - only Postgres (with Citus extension)
Base projects
MVP
setup and pip
SQLite3 support
multi-db
tenant on URL path
documetation about how customize manage.py
- custom urls.py
investigate if it’s possible to change the settings.ROOT_URL to enable tenant without changing urls.py
API
# settings.py
from ultratenant.multidb import Databases
...
MIDDLEWARE = [
...
'ultratenant.path.Middleware',
]
...
DATABASES = Databases(config('DATABASE_URL', cast=dburl))
DATABASE_ROUTERS = ['ultratenant.multidb.Router']
(maybe it won’t be necessary)
# urls.py
...
from ultimate_tenants.urls import tenants_path
urlpatterns = tenants_path([
path('admin/', admin.site.urls),
path('', index, name='index'),
])
# url.com/tenant/admin
Roadmap
other databases supported by Django: PostgreSQL, MariaDB, MySQL, Oracle
multi-schema
- tenant as subdomain
tenant.url.com/admin
tenant-id
custom manage.py to access different tenants
cookiecutter to create a new project
Changelog
0.0.1 (2022-07-31)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_ultratenant-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 606dee4df36f245f69007c918115973c049de93dbdb000d990420df5062cae47 |
|
MD5 | bbacebda79afc5ffc843b805962a2489 |
|
BLAKE2b-256 | 90a0d3ab167434b507c9505d7dfd73229f1f1c777f951c11f7f4a112053d39ed |