阅读:49
本篇文章主要是帮助正在学习的django 框架的小伙伴,总所周知django 官方只支持
,但是有部分小伙伴使用sqlserver 比较多 如何快速的链接上sqlserver 今天就带你来康康
注意:(本人现在使用的是 sqlserver 2019 python 3.8 django 3.2 )
尽量用稳定的版本,django有些最新版是不支持 ptyhon 老版的包
提示:以下是本篇文章正文内容,下面案例可供参考
首先在django 项目中安装一系列的库 如下:
其中 django-crontab, django-mssql, django-pyodbc,django-pyodbc-azure ,django-pytds ,django-sqlserver 是必要的
直接上pip 下载,再也不用一个一个找了 (打开 pycharm 控制台)
pip install django-crontab django-mssql django-pyodbc django-pyodbc-azure django-pytds django-sqlserver
当然最重要的还是 settings.py 中的 databases 代码 如下:
#数据链接
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'mytest',
'USER':'test',
'PASSWORD':'*****',
'HOST':'1.119.451.122',
'PORT':'1433',
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0',#这个地方根据你在服务中ODBC 数据源(64 位)中配置的名字相同
},
}
}
DATABASE_CONNECTION_POOLING = False
驱动网址: https://dfenghuoyunji.jb51.net/202103/tools/navicatpremium_jb51.rar
下载驱动后直接安装,安装后 打开 控制面板>系统和安全>管理工具 下面步骤如图:
注意:选择的驱动对应着database 中填的驱动
名称 :填数据库 服务器:填ip
输入sql server 的账号密码
选择数据库
完成啦!!!
为了 检测是否链接成功 创建一个表 如下:
import datetime
from django.db import models
# Create your models here.
class Users(models.Model):
id=models.AutoField(primary_key=True)
name=models.CharField(max_length=50)
age=models.IntegerField( default=18)
phone=models.CharField(max_length=50)
addtime=models.DateTimeField(default=datetime.datetime.now())
使用 工具中的 Run manage.Task 执行 :makemigrations 生成迁移文件
生成文件如下:
# Generated by Django 3.2 on 2022-03-24 07:44
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Users',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('name', models.CharField(max_length=50)),
('age', models.IntegerField(default=18)),
('phone', models.CharField(max_length=50)),
('addtime', models.DateTimeField(default=datetime.datetime(2022, 3, 24, 15, 44, 40, 633247))),
],
),
]
生成迁移文件后 同样的在同一个地方 执行 migrate 最后成功的创建表了
完结
好了,今天的文章就到这里了,其实用django 链接sqlserver 还是有一些复杂的,我是花了很长时间才搞出来,如果有什么需要补充和修正的地方欢迎大家评论和留言