在一个现有的项目中,我如何实现一个方法来重定向不同的数据库(写,更新和读)而不修改现有的Django查询?
如果我有两个问题:
MyModel.objects.get(name = "abc")
和MyModel.objects.create(name = "xyz")
数据库配置为:
DATABASES = {
'read_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'read_db',
'USER': 'read_db',
'PASSWORD': 'read_db',
'HOST': '',
'PORT': '',
},
'write_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'write_db',
'USER': 'write_db',
'PASSWORD': 'write_db',
'HOST': '',
'PORT': '',
},
'update_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'update_db',
'USER': 'update_db',
'PASSWORD': 'update_db',
'HOST': '',
'PORT': '',
}
}
希望为查询1调用read_db,为查询2调用write_db
1条答案
按热度按时间y53ybaqx1#
看看Django的数据库路由器。您可以指定
db_for_read
和db_for_write
,而无需更改查询。