1

我有一个 django 应用程序,它有一个输入数据的前端和一个提供数据的 API。有一个主/从设置,所以我使用数据库路由器来管理对主控的写入和从从属的读取。

import random
from django.conf import settings

class DBMasterSlaveRouter(object):
    def db_for_read(self, model, **hints):
        if len(settings.DB_SLAVES) >= 1:
            return random.choice(settings.DB_SLAVES)
        else:
            return settings.DB_MASTER

    def db_for_write(self, model, **hints):
        return settings.DB_MASTER

    def allow_syncdb(self, db, model):
        return True

我遇到的问题是在前端,用户输入数据并点击保存,页面重新加载并从从属加载数据(这发生得非常快),因为主从之间存在滞后,负载不会反映最新输入。我不想延迟页面加载。现在我必须using('default')强制从前端的 master 读取

任何想法如何解决这一问题?

4

1 回答 1

2

看起来这是答案:

https://github.com/jbalogh/django-multidb-router

于 2013-08-27T22:57:03.310 回答