Django 当前项目,查询另一个数据库的auth_user表,应该如何操作?

描述一下问题
我现在有一个应用,正在打算接入另外一个数据库,也就是当前的这个项目在某几个地方是链接的另外一个数据库,数据库的参数和路由都配置好了,现在问题来了。

我如果要查询另外一个数据库的auth_user表,是还需要在我现在的这个项目里新建一样的auth_user的models么,然后使用models去查询?

还是有其他方式?

还请大神尽量来回复一下~谢啦~

阅读 3.6k
1 个回答

在settings.py的DATABASE里定义一下别的数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': DEFAULT_DB_NAME,
        'USER': DEFAULT_DB_USER,
        'PASSWORD': DEFAULT_DB_PASSWORD,
        'HOST': DEFAULT_DB_HOST,
        'PORT': DEFAULT_DB_PORT,
    },
    'other': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    },
}

需要使用other数据库里的表的时候:
查询:xxx.objects.using('other').get(id=1)
保存:xxx.save(using='other')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进