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 时出错
从 Django 网页中的 MSSQL 数据库中获取搜索结果