【问题标题】:Handling multiple database in Django在 Django 中处理多个数据库
【发布时间】:2020-05-22 09:02:07
【问题描述】:

我正在使用 MySQL 数据库在 Django 中开发一个 Web 应用程序。现在,我需要连接到内部 SQL Server 数据库并只更新 1 个表 ClientDetails

这是我的数据库配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database_name',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
        }
    },
    'internal': {        
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'client_database',
        'USER': 'client',
        'PASSWORD': 'password',
        'HOST': 'Database_Internal'        
    }
}

如何写入第二个数据库中的表ClientDetails

【问题讨论】:

    标签: python sql-server django database django-mssql


    【解决方案1】:

    在 settings.py 中为字典添加一个额外的条目

    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'client': {
        'NAME': 'client_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'root',
        'PASSWORD': 'root'
    }}
    

    当然要写你的mysql用户名和密码。

    现在将模型设置为数据库:-

    my_object.save(using='client_data')
    

    你有它。我建议检查 django 文档,因为没有人是完美的,我很确定这应该让你运行。

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 2011-03-26
      • 1970-01-01
      相关资源
      最近更新 更多