我有一个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读取
任何想法如何解决这个问题?