小编wil*_*eam的帖子

Django 副本数据保存到多个数据库

根据 django 文档,可以从数据库创建副本并定义它将写入或读取的位置。(django 多数据库)。

然后,它为其编写了代码,配置我的DATABASE喜欢:

DATABASES = {
    'default': {
        'NAME': 'my_write_database',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'writedatabase',
    },
    'replica': {
        'NAME': 'replica',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'readdatabase',
    },
}
Run Code Online (Sandbox Code Playgroud)

并创建路由器:

class ReplicaDatabaseWriteRead(object):

    route_app_labels = {..all_possible_applications}

    def db_for_read(self, model, **hints):
        return 'replica' # O just wanna read from 'replica'

    def db_for_write(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'default' # I wanna write in default and 'reflect' to 'replica'
        return None

    def allow_relation(self, obj1, obj2, …
Run Code Online (Sandbox Code Playgroud)

database django django-rest-framework

3
推荐指数
1
解决办法
2034
查看次数

标签 统计

database ×1

django ×1

django-rest-framework ×1