Django配置连接SqlServer(版本Django3.2.5,python3.9)
前言
这两天学习了下Django,因为我使用的数据库是 SqlServer,在模型那里遇到了点问题,这篇文章做下记录。
Django连接数据库,你如果不使用模型,直接使用 pymssql 的话也是没问题的,毕竟通常就是这种嘛,这种的话这里就不说了,大家应该都懂。
开发环境
- windows 10
- python 3.9
- Django 3.2.5
- pycharm 2021.2.1
创建工程
使用pycharm创建项目(使用你任何你知道的方式创建一个项目就行了)
这里创建了个新环境,基于python3.9的,先已配置有环境可直接选择先前配置的解释器 即可,仅做演示。
默认创建出来的项目使用的是Django3.2.5。
这里直接创建的项目已带一个app,相关配置已默认设置好,其他方式的请参考Django官网。
安装 mssql-django与pyodbc 3.0 (or newer)
随意选择一种方式即可,工程使用的如下(仅展示mssql-django,pyodbc 类似)。
https://pypi.org/project/mssql-django/
注意一点,python解释器切换到我们刚刚创建的。
配置支持SqlServer
我们在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为:
具体配置请参考mssql-django# 'driver': 'SQL Server Native Client 11.0', DATABASES = {'default': {'ENGINE': 'mssql','NAME': 'test', # 数据库名称'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1'PORT': 1433, # 端口'USER': 'sa', # 数据库用户名'PASSWORD': 'lh1234567', # 数据库密码'OPTIONS': {'driver': 'ODBC Driver 17 for SQL Server',},} }
配置完成之后运行项目,看是否有报错,无报错则配置成功。
项目结构概览
首先看下项目结构:
配置url
修改test_sqlserver目录下urls.py文件如下:from django.contrib import admin from django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),path('web/', include("web.urls")) ]
在web目录下新建urls.py文件,内容如下:
from django.urls import path from . import viewsurlpatterns = [path('testdb/', views.testdb), ]
配置model
在web目录下新建models.py文件,内容如下:from django.db import models# Create your models here. class Test(models.Model):name = models.CharField(max_length=20)
配置view
在web目录下新建views.py文件,内容如下:from django.http import HttpResponsefrom .models import Test# 数据库操作 def testdb(request):test1 = Test(name='runoob')test1.save()return HttpResponse("<p>数据添加成功!</p>")```
数据库初始化
在命令行或终端中运行:
python manage.py migrate # 创建表结构python manage.py makemigrations web # 让 Django 知道我们在我们的模型有一些变更python manage.py migrate web # 创建表结构
命令执行结果如下:
注意一点,我们开始新创建了个python39的环境,记得切换过去,如果你使用conda的话。
看下数据库结果:
默认生成上述表,注意web_test表是我们自己定义的(app名+models里类名)。
演示
到此就大功告成了,把运行起来看看怎么样吧。
看下数据库结果:
结论
说实话,这个连SqlServer还弄了差不多半天,本身Django官方只支持PostgreSQL、MariaDB、MySQL、Oracle 和 SQLite。 而我要使用的是SqlServer,所以就不得不使用第三方库。但是官方文档里提到的 却是 django-mssql-backend这个库。
看下这个库的支持情况:
我使用Django3.2.5的版本的时候,他执行创建数据表的时候,只创建了
- django_migrations
- django_content_type
两张表,还报一堆错,这就尴尬了。而且也看出来了,他的Python也支持到了3.7,所以就不得不重新选择了。
所幸在 https://stackoverflow.com/questions/67358097/keyerror-include-on-migrating-models-to-sql-server这个里面找到了答案。
就是使用 mssql-django,看下他的支持:
,Django支持到了4.0,Python也支持到了3.9.暂时完美解决了我说遇到的问题。
参考链接
https://stackoverflow.com/questions/67358097/keyerror-include-on-migrating-models-to-sql-server
Django配置连接SqlServer(版本Django3.2.5,python3.9)相关推荐
- django模型sqlserver_SQLServer数据库入门之django如何连接SQLServer
本篇教程探讨了SQLServer数据库入门之django如何连接SQLServer,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 方法一: 1.需要安装pymssql ...
- linux下sqlserver端口号,linux下连接sqlserver配置及otl编程.docx
linux下连接sqlserver配置及otl编程 需要的包unixODBC源码包unixODBC-2.2.14.tar.gz下载地址linux下的ODBC 驱动freetds-0.64.tar.gz ...
- php5.6 win2008 mssql,Php5.6.31连接sqlserver 2008R2数据库问题sqlsrv(php5.3及以上版本)与mssql(php5.3以前版本)②...
Php5.6.31连接sqlserver2008R2数据库 1.环境配置 Win7(win8.1) 64 +Apache2.4 + PHP5.6.31 + SQL Server 2008 R2数据库 ...
- django连接sqlserver的一些坑
在新接触的项目的数据库用的是sqlserver,这之前也没连过啊,所以在各种报错下成功了,接下来分享一下,我做的一些过程 环境: django 1.11 sqlserver server ...
- PHP PDO 连接SQLSErver,php pdo连接sqlserver配置
php pdo连接sqlserver配置 发布时间:2020-03-08 22:42:23 来源:51CTO 阅读:741 作者:daydaydream 1.下载sqlserver扩展 打开用phpi ...
- Java连接redshift数据库_配置 JDBC 驱动程序版本 1.0 连接 - Amazon Redshift
本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. 配置 JDBC 驱动程序版本 1.0 连接 您可以使用 JDBC 驱动程序版本 1.0 连接从许多第三方 SQL 客户端工 ...
- python3 django配置数据库(mysql)
python3 django配置数据库(mysql)http://www.bieryun.com/3311.html python3 下的mysql驱动 django 连接mysql默认驱动是MySQ ...
- php 5.4.36 sqlserver,PHP:PHP5.4连接SQLSERVER
在PHP5.4的环境下要连接SQLSERVER(2005/2008)数据库,需要以下步骤: 1.下载PHP5.4连接SQLSERVER的驱动(两个动态连接库)http://www.microsoft. ...
- c语言 mysql_bind,C语言连接SQLSERVER数据库
第一步:配置ODBC.在配置ODBC时有用户DSN.系统DSN.和文件DSN三种方法,为了稳妥起见,采用系统DSN. DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开V ...
最新文章
- Nmap安装和扫描(一:Nmap安装和扫描基础知识点总结)
- 【青少年编程竞赛交流】03月份微信图文索引
- PubChemPy | 化合物数据库PubChem与Python结合
- jdk、jre、jvm有什么区别?
- 别找了 这就是适合入门的第一本算法书
- leetcode算法题--Word Search
- 《Android应用开发攻略》——2.2 异常处理
- Python 之 高级变量类型
- 5.3 Transformer意境级讲解
- 黑客之门的魅力:感染与加载 [转]
- unity 保存数据到本地的方法
- 用计算机完成计算win7,算天数转单位Win7计算器能做得更多
- Windows下MongoDB下载,安装和初级使用
- 国企计算机岗位职称申请,在国企工作如何评定职称
- html b5纸尺寸,b5纸的大小?
- 原生js 实现大鱼吃小鱼效果
- 求两点连线与其中一点为球心球的交点——赋MATLAB代码
- ​九月简报 | Coinversation先行版DEX——Kaco上线碎片化,TVL最高突破1000w美金
- BDTC 2017数据库上午:犹他大学、东方国信、蚂蚁金服、微软、人大金仓
- 相似度的几种常见计算方法