Skip to main content

A small package to create tenants,schemas and domains only by providing a name.

Project description

customers

customers is a Django app which is used to serve django tenant details. It is used to create tenants, schemas and doamin urls for respective tenants. :fire:

Quick start

Install the package pip install dj-auto-multitenant.

Now make change in your DATABASE_ENGINE

DATABASES = {
    'default': {
        'ENGINE': 'django_tenants.postgresql_backend',
        # ..
    }
}

Add DATABASE_ROUTERS setting, so that the correct apps can be synced, depending on what’s being synced (shared or tenant).

DATABASE_ROUTERS = (
    'django_tenants.routers.TenantSyncRouter',
)

Add the middleware django_tenants.middleware.main.TenantMainMiddleware to the top of MIDDLEWARE, so that each request can be set to use the correct schema.

MIDDLEWARE = (
    'django_tenants.middleware.main.TenantMainMiddleware',
    #...
)

Now change your INSTALLED APPS settings and seprate your shared apps and tenant apps. Add your customers app in SHARED APP.

SHARED_APPS = (
    'django_tenants',  # mandatory
    'customers', # you must list the app where your tenant model resides in

    'django.contrib.contenttypes',

    # everything below here is optional
    'django.contrib.auth',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.admin',
)

TENANT_APPS = (
    # The following Django contrib apps must be in TENANT_APPS
    'django.contrib.contenttypes',

    # your tenant-specific apps

    'myapp.houses',
)

INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]

Add: TENANT_MODEL = "customers.Client" # app.Model

TENANT_DOMAIN_MODEL = "customers.Domain"  # app.Model

Now migrate customers python manage.py migrate_schemas --shared

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dj-auto-multitenant-0.0.3.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dj_auto_multitenant-0.0.3-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file dj-auto-multitenant-0.0.3.tar.gz.

File metadata

  • Download URL: dj-auto-multitenant-0.0.3.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for dj-auto-multitenant-0.0.3.tar.gz
Algorithm Hash digest
SHA256 79009034d4fe8e7f74bbdef545cc8597a18a7456bf2d363867539e8da7e85d06
MD5 33b2a2faecc2111224ea37631ce556ee
BLAKE2b-256 aa2497009453385aeae6271347a7ec90fec03c1efdb5047917dc1c5ad4e498e2

See more details on using hashes here.

File details

Details for the file dj_auto_multitenant-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: dj_auto_multitenant-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for dj_auto_multitenant-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 adc41fd2f52ac05290df4a2af31882b8ef248d3cbef0e7c032b15bde3bfa6a1a
MD5 d7df80096c2c33d56a43069307c7b346
BLAKE2b-256 cc57de76e6c91fb8342a5ee66ef386bd2b619a1dd9182a9c9a38883840382e82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page