对django的多租户支持,每个数据库使用一个租户。
django-rds-db-multitenant的Python项目详细描述
一。安装
$ pip install django-rds-db-multitenant
2.实现映射器
三。更新设置.py
通过指定 实现(在本例中,mapper是文件名mapper.py):
MULTITENANT_MAPPER_CLASS='myapp.mapper.TenantMapper'
首先将多租户中间件安装为列表的中间件(在django之前 1.10,必须使用MIDDLEWARE_CLASSES设置:
MIDDLEWARE=['rds_db_multitenant.middleware.MultiTenantMiddleware',....]
将数据库后端更改为多租户包装:
DATABASES={'default':{'ENGINE':'rds_db_multitenant.db.backends.mysql','NAME':'devnull',}}
note:对于mysql,NAME是无用的,但是由于 限制,指定的数据库必须存在。可能是空的 只读。
或者,将多租户助手KEY_FUNCTION添加到缓存中 定义,这将导致缓存键的前缀为 mapper.get_cache_prefix:
CACHES={'default':{'LOCATION':'127.0.0.1:11211','BACKEND':'django.core.cache.backends.memcached.MemcachedCache','KEY_FUNCTION':'rds_db_multitenant.cache.helper.multitenant_key_func'}}