django 模型创建连接到 mssql

Posted

技术标签:

【中文标题】django 模型创建连接到 mssql【英文标题】:django model creation connecting to mssql 【发布时间】:2019-10-01 09:26:46 【问题描述】:

我正在使用我的 django 项目连接到云中的旧 mysql 数据库。 如果需要,我需要在 DB 表中获取数据并插入数据。

我需要为数据库中已经存在的表编写模型吗? 如果是这样,则有 90 多张桌子。那么如果我为单个表创建模型会发生什么? 除了创建模型和迁移之外,我如何与数据库交谈? django有更好的方法吗?或模型是更好的方法? 当我创建模型时,后端会发生什么?它会在同一个数据库中再次创建这些表吗?

【问题讨论】:

如果你想从现有的数据库创建模型,你可以运行python manage.py inspectdb > /path/to/your/models.py 【参考方案1】:

有几种方法可以连接到旧数据库;我使用的两种方法是为您需要的旧数据库中的数据创建模型,或者使用原始 SQL。

例如,如果我要在可预见的未来连接到旧数据库并执行读取和写入操作,我将创建一个模型,其中仅包含我需要作为辅助数据库的外部表中的字段.该方法有据可查,但比较耗时。

但是,如果我只从将要停用的旧数据库中读取数据,我将在旧数据库上创建一个只读用户,并使用原始 SQL 来获取我需要的内容:

from django.db import connections

cursor = connections["my_secondary_db"].cursor()

cursor.execute("SELECT * FROM my_table")

for row in cursor.fetchall():
    insert_data_into_my_new_system_model(row)

当我们将用户和产品数据迁移到 Django/PostgreSQL 时,我现在正在使用旧网站中的旧版 SQL Server 数据库执行此操作。多年来,这对我很有帮助,并节省了很多时间。我已经使用它在单个应用程序中创建同步例程作为 Django 管理命令,然后当遗留数据库迁移到 Django 时,我已经完全删除了包含所有同步例程的单个应用程序,以便清理休息。祝你好运!

【讨论】:

以上是关于django 模型创建连接到 mssql的主要内容,如果未能解决你的问题,请参考以下文章

将 Django 连接到 MSSQL Server 2012 时出错

带有架构的 MSSQL 数据库的 Django 迁移错误

Django - 连接到其他数据库进行测试

从 Django 网页中的 MSSQL 数据库中获取搜索结果

在 Server 2012 上通过 php 连接到 MSSQL

如何使用 JDBC 连接到 SQL Server 2008 数据库?