让Django支持Sql Server作后端数据库的方法
作者:xiaolixiaoyi 时间:2024-01-25 13:58:56
好久木有在windows里面写python了。。这本也不是事儿,python嘛,只要系统里面装好了,那大多数代码都是可以正常运行的。。然而有时候需要调用微软那一套特定的API,什么Java啊python啊总有水土不服的时候。
今天我就将我在Mac里面写好的Django项目移到win10上。一开始图省事儿,我用的sqlite3当后端数据库,但单位要求在项目正式上线的时候用SQL Server,于是,记得django 1.9默认不支持微软那一套的我,就开始在网上搜啊搜,现是发现有人说只要装好一个名为pymssql的包,于是我就装了。
pip install pymssql
嗯,装好了,我非常高兴,设置好数据库的相关参数后,激动地运行了python manage.py makemigrations
然而。。尼玛不行啊,提示 “no module named sqlserver_ado”
于是我又是一顿乱搜,有人说要装django-mssql。嗯,这次有关键词django,想必是靠谱的。
pip install django-sqlserver
装好后,我仍然运行makemigrations。这次竟然没有上次那个错误提示了。。然而又出现了“no module named xxx.backends.util”,这是什么鬼啊!!!
我去问Google,Google说这是我的django版本太高了,需要降低版本。。于是我将django降成了1.8,不行。。我又将其降成了1.7,还是不行。。我狠狠心将其降成了1.6,结果发现丫连django1.9的程序都不支持了。。哎。。
然而我看Google上有人说django1.9通过某种奇技淫巧还是可以支持SQL Server的,于是我又接着搜,然后看见有人说django-pyodbc-azure这个包貌似可以支持django1.9了,于是我下了下来试了下。。虽然不抱很大希望,毕竟这个包的名字里面连个sql都没有。。
pip install django-pyodbc-azure
我安装完后,运行python manage.py makemigrations,竟然成了。。我打开数据库一看,各种表也建好了,进行了几个操作后发现数据正常读取和写入,我也就放心了。
来源:https://blog.csdn.net/xiaolixiaoyi/article/details/51999407