gpt4 book ai didi

python - 如何为 Django 中的每个应用程序使用单独的数据库

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:41 25 4
gpt4 key购买 nike

我有 app1 和 app2,我想 app1 使用 db1,app2 使用 db2

我找到的方法是使用数据库路由器,有点复杂

我想知道有什么简单的方法吗?

我可以在settings.py中配置吗

最佳答案

没有。正确的方法是使用路由器。这很简单。请参阅 django 文档中的 MyAppRouter:https://docs.djangoproject.com/en/dev/topics/db/multi-db/#an-example :

class MyAppRouter(object):
"""A router to control all database operations on models in
the myapp application"""

def db_for_read(self, model, **hints):
"Point all operations on myapp models to 'other'"
if model._meta.app_label == 'myapp':
return 'other'
return None

def db_for_write(self, model, **hints):
"Point all operations on myapp models to 'other'"
if model._meta.app_label == 'myapp':
return 'other'
return None

def allow_relation(self, obj1, obj2, **hints):
"Allow any relation if a model in myapp is involved"
if obj1._meta.app_label == 'myapp' or obj2._meta.app_label == 'myapp':
return True
return None

def allow_syncdb(self, db, model):
"Make sure the myapp app only appears on the 'other' db"
if db == 'other':
return model._meta.app_label == 'myapp'
elif model._meta.app_label == 'myapp':
return False
return None

关于python - 如何为 Django 中的每个应用程序使用单独的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com