对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有没有一种方法可以在不关闭底层流的情况下关闭Writer?   java旋转形状不出现在小程序上   java将JPanel插入JOptionPane并检索数据   java如何对不同列表中的ArrayList进行排序   java永恒提醒服务   amazon web服务在Java中创建表之后创建DynamoDB全局二级索引   java循环程序以在完成检查后重新启动   在只读应用程序中共享对话式Hibernate EntityManager appwide的java陷阱?   java系统。出来运行代码时不显示打印?   使用Java在Solr中进行编程完全导入   java如何跟踪鼠标退出/进入/悬停在组合上?   java Android:如何防止开发者选项在下次启动时重置?   java是否可以在不生成查询类型的情况下使用Querydsl?   我想用正则表达式在java中拆分字符串   spring是否可以从数据库获取JavaFMT消息包?