Cad*_*adz 6 python sql-server django
我正在遵循本指南。Mssql-django和我有 Django 版本 3.2.12 我已经安装了 mssql-django 1.1.1 我也有 pyodbc 4.0.32
修改我的settings.py以具有
'ENGINE': 'mssql',
Run Code Online (Sandbox Code Playgroud)
但我仍然收到这个错误
django.core.exceptions.ImproperlyConfigured: 'mssql' isn't an available database backend or couldn't be imported. Check the above exception. To use one of the built-in backends, use 'django.db.backends.XXX', where XXX is one
of:
'mysql', 'oracle', 'postgresql', 'sqlite3'
Run Code Online (Sandbox Code Playgroud)
我在使用 Flask 时遇到了类似的问题。解决方案如下:
odbcinst.ini创建一个以内容命名的文件Run Code Online (Sandbox Code Playgroud)[FreeTDS] Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
requirements.txt文件应具有 mssql 和 pyodbc 的工作版本。例如 :
mssql==1.0.1
pyodbc==4.0.31
Run Code Online (Sandbox Code Playgroud)
服务器配置有:
SQLALCHEMY_BINDS = {
'my_database': "mssql+pyodbc://{}:{}@{}?driver=FreeTDS".format(
os.getenv("database_user"),
os.getenv("database_password"),
os.getenv("database_host")
)
Run Code Online (Sandbox Code Playgroud)
}
最后可能Dockerfile是这样的:
Run Code Online (Sandbox Code Playgroud)FROM python:3.9.8-slim [...other staff here...] COPY odbcinst.ini /etc/ [...other staff here...]
希望您能够将 Flask 习惯用法转换到您的 django 应用程序中并使其正常工作。当我试图让它发挥作用时,这让我感到非常沮丧。