目录
零之前言
django2.0以上的版本,对于使用mysql数据库的话,需要修改我们的源码才可以使用,后面我再写如何使用Mysql。今天先讲mssql。
且使用sql数据库的话,我们的django只能在Windows上运行,不能再linux上运行。
一.安装支持库pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyodbc
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-pyodbc-azure
在安装django-pyodbc-azure的时候,它会自动检查使用的django版本,然后高于2.1版本的,会自动给你下载django2.1.15覆盖安装你的高版本的django。
二.设置ODBC这我也不知道怎么设置,乱设置设置它就可以用了,我也佛了。
刚开始我没有使用这一步,就会出现以下情况:
[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
所以我们要确保我们ODBC里有我们mssql的驱动。
首先打开ODBC(找不到的,在桌面搜索栏里搜索odbc)
确保你的系统活着的用户DSN里有我们SQL Server Native Client 10.0 +
如果没有,就自己建立一个:
然后我的数据库user叫Test,然后表名也叫Test,所以我就这样设置了,然后数据库的位置我是自己写的我云服务器上数据库的位置
下一步后输入了那个user的id和password
然后这几步我都是直接下一步
然后Test一下,就可以了
然后就完成了我们ODBC驱动的设置
说明:虽然这次安装成功了,但是我后面把这个驱动删除了Django还是可以makemigrations。就很奇怪:未安装——报错;安装——不报错;安装后删除——不报错
三.配置数据库源在我们的Settings文件里修改DATABASE的设置:
驱动要和你设置的驱动对应。
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'Test',
'USER': 'Test',
'PASSWORD': 'yourpassword',
'HOST': '39.106.64.xxx',
'PORT': '1433',
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0',
'MARS_Connection': True,
},
}
}
四.测试
在我们app的models里随便写个模型测试一下,比如我写一个登录模型:
class Account(models.Model):
acc_name = models.CharField(max_length=16, unique=True)
acc_password = models.CharField(max_length=16)
acc_permission = models.IntegerField(default=0, db_column='permission')
class Meta:
db_table = 'learn'
成功!
五.查看在Pycharm里,专门有一个简易的数据库管理系统:
右侧-Database
选中我们的数据库
界面下方会提醒你下载驱动,如果已经下载了就不会提示:
然后输入我们的参数,并点击Test Connection,如果连接成功会有绿色的小勾勾:
然后我们就可以查看我们的表啦: