Django3.0 中使用django-pyodbc-azure 和 pyodbc 链接sql server 2008数据库,操作已有的数据库 和表

Django3.0 中使用django-pyodbc-azure 和 pyodbc 链接sql server 2008数据库,操作已有的数据库 和表
目录:

1、安装各个插件

(1)安装 Django 3.0,创建项目

安装:
    pip install django
创建项目项目
     在本地新建一个目录用于存放项目, D:\python\PycharmHome\ 目录下新建 DjnagoProject
     使用 pycharm 新建一个 Django 项目

(2)安装 pyodbc

     pip install pyodbc

(3)django-pyodbc-azure

     pip install django-pyodbc-azure

(4)安装 sql server

2、django-pyodbc-azure 操作 sql server 中已经存在的数据库

Django 操作数据库需要建立相应的模型,在项目根目录中的 models.py 文件中建立

	这是原始的models 文件

在这里插入图片描述
我这个项目的目录在 D:\python\PycharmHome\DjnagoProject\DjnagoProject1
在这里插入图片描述

2.1配置settings.py

在项目的 settings.py 中的 DATABASES 选项

在这里插入图片描述
可以参照 django-pyodbc-azure 官网的的说明 https://pypi.org/project/django-pyodbc-azure/

DATABASES = {
   
    'default': {
   
        'ENGINE': 'sql_server.pyodbc',
        'NAME': "自收录数据",  # 需要操作的数据库名字
        "USER": "sa",  # 连接数据库的用户名
        'PASSWORD': '123456',  # 对应的用户密码
        'HOST': '127.0.0.1',  # IP 地址
        'PORT': '1433',  # 端口号
        'OPTIONS': {
   

            'driver': 'SQL Server Native Client 11.0',  # 驱动
            'MARS_Connection': True,

        },
    }
}

2.2 配置sql server 数据库中已有数据表的模型

在 cd 中移动到该目录,或者在 pycharm 中的 Terminal 运行:

 python manage.py inspectdb

会自动创建models 映射,对应数据库中的所有的表,但是不会生成 models 文件内容,还需要运行 python manage.py inspectdb> models.py 就会自动生成 models文件,内容为数据库中全部已有数据表的映射。

python manage.py inspectdb> models.py

在这里插入图片描述

数据库已有的数据表:
在这里插入图片描述
生成的 models.py 文件
注意: 这个 models 文件是错误的,因为 自动映射会将中文名字的表映射为空名字,需要手动修改 对应 class 的名字。
其实 class 的名字不重要,可以随便命名,主要 db_table : 这个用于指定数据表的名字

# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
#   * Rearrange models' order
#   * Make sure each model has one field with primary_key=True
#   * Make sure each ForeignKey has `on_delete` set to the desired behavior.
#   * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
from django.db import models


class Hb(models.Model):
    id = models.AutoField(db_column='ID', primary_key=True)  # Field name made lowercase.
    标题 = models.TextField(blank=True, null=True)
    类别 = models.TextField(blank=True, null=True)
    发文字号 = models.TextField(blank=True, null=True)
    批准部门 = models.TextField(blank=True, null=True)
    批准日期 = models.TextField(blank=True, null=True)
    发布部门 = models.TextField(blank=True, null=True)
    发布日期 = models.TextField(blank=True, null=True)
    实施日期 = models.TextField(blank=True, null=True)
    时效性 = models.TextField(blank=True, null=True)
    效力级别 = models.TextField(blank=True, null=True)
    全文 = models.TextField(blank=True, null=True)
    url = models.TextField(blank=True, null=True)
    packzip = models.IntegerField(blank=True, null=
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值