I have requirements:
- Python 3.11.9 ( Windows https://github.com/pyenv/pyenv )
- latest version of Django (5.0.7.)
- MS SQL 2019
To create a simple REST app with Django AUTH logic.
As I have local installed Python and the packages in .env folder I use MS SQL 2019 in Docker. The app works if I use default default SQLite DB engine.
After changing it to mssql-django
(https://pypi.org/project/mssql-django/) I get:
django.db.utils.InterfaceError: (‘IM002’, ‘[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)’)
requirements.txt
asgiref
Django
django-cors-headers
djangorestframework
djangorestframework-simplejwt
PyJWT
pytz
sqlparse
python-dotenv
pyodbc
mssql-django
.env
DB_HOST=localhost
DB_PORT=1433
DB_USER=mssql
DB_NAME=friendly_beaver
DB_PASSWORD=admin(!)pass
settings.py
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
'ENGINE': 'mssql',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
'OPTIONS': {
'driver': 'ODBC Driver 19 for SQL Server',
},
}
}
Docker is up and running (https://hub.docker.com/r/microsoft/mssql-server):
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=admin(!)pass" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
Any assist would be grateful.
9