对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'}}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java调用Python函数作为TEID中的UDF   java Android。支持v4导入不工作   java如何影响具有静态属性的类   java如何在从glTexImage2D()分配后编辑纹理的像素颜色   javaspringboot+rediscache+@Cacheable适用于某些方法,而不适用于其他方法   java无法将动态Web模块方面从3.0更改为2.5   java如何在新选项卡中显示打印的文档?   java Google Cloud Endpoints API方法仅在删除用户参数时成功调用   java为什么我可以使用Stack<Double>但不能使用Stack<Double>?   java JDBC PreparedStatement似乎忽略了占位符   java如何设置JInternalFrame的标准图标化位置?   Java文件。copy()不复制文件   基于另一个类的java显示arraylist?   java Android Studio:错误:非法字符:'\u2028'   对象(Java)无法实例化类型映像?   javascript错误:飞行前响应的HTTP状态代码401无效   java确保泛型vararg参数具有相同的类型