gpt4 book ai didi

python - Django - 多个数据库

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:58 24 4
gpt4 key购买 nike

所以我对整个 Django 数据库有些陌生,也许我只是不完全理解这里讨论的 Django 路由器: https://docs.djangoproject.com/en/dev/topics/db/multi-db/#database-routers但对于我的生活,我无法弄清楚如何将两个数据库链接在一起。也许是因为我的设置不同?这两个数据库是单独的 Django 项目文件夹,并且都有单独的 Postgre 数据库。我认为问题可能来自于它们位于不同的文件夹中,而我没有正确包含路径名?

这是我现在拥有的:

设置.py:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'ClothesWashers',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
'RECS': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'RECS',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django_extensions',
'ClothesWasher_Purchaser',
)

DATABASE_ROUTERS = ['ClothesWashers.db_routers.RECS_Router',]

db_routers.py:

class RECS_Router(object):
def db_for_read(self, model, **hints):
if model._meta.app_label == 'RECS_Data':
return 'RECS'
return 'default'

我想要做的就是通过执行类似这样的操作来调用 RECS 数据库中的 RECS_Data 应用程序,以便我可以从中读取数据:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'ClothesWashers.settings'
from RECS_Data.models import RecsData
g = RecsData._meta.fields

谢谢任何愿意帮助我的人!

最佳答案

我想您可以使用 using 读取辅助数据库。

像这样尝试。

i.e RecsData.using("RECS")._meta.fields

有关更多信息,请参阅此处 https://docs.djangoproject.com/en/dev/topics/db/multi-db/#manually-selecting-a-database

关于python - Django - 多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327808/

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