Django 链接sqlserver 简单教程

     阅读:49

本篇文章主要是帮助正在学习的django 框架的小伙伴,总所周知django 官方只支持 

 ,但是有部分小伙伴使用sqlserver 比较多 如何快速的链接上sqlserver  今天就带你来康康

注意:(本人现在使用的是 sqlserver 2019   python 3.8  django 3.2 )

尽量用稳定的版本,django有些最新版是不支持 ptyhon 老版的包

文章目录


提示:以下是本篇文章正文内容,下面案例可供参考

一、python 环境配置

首先在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

二、服务器环境配置(电脑环境)

1.首先下载驱动

驱动网址: https://dfenghuoyunji.jb51.net/202103/tools/navicatpremium_jb51.rar

下载驱动后直接安装,安装后 打开  控制面板>系统和安全>管理工具  下面步骤如图:

 

 注意:选择的驱动对应着database 中填的驱动

 名称 :填数据库  服务器:填ip 

 输入sql server 的账号密码

 选择数据库 

 完成啦!!!

 

2.运行代码 

 为了 检测是否链接成功 创建一个表 如下:

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 还是有一些复杂的,我是花了很长时间才搞出来,如果有什么需要补充和修正的地方欢迎大家评论和留言