这是我在这里的第一个帖子,所以如果有什么问题请原谅我。
我正在Django中创建一个CRM sorta应用程序,并尝试使用pyodbc连接到MSSQL数据库。我设法连接,Django甚至创建了一些表dbo.django_migrations和dbo.django_content_type (空白)。但是当我运行的时候,我得到了很多错误:
Traceback (most recent call last):
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\views\generic\base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\views\decorators\debug.py", line 89, in sensitive_post_parameters_wrapper
return view(request, *args, **kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\allauth\account\views.py", line 146, in dispatch
return super(LoginView, self).dispatch(request, *args, **kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\allauth\account\views.py", line 69, in dispatch
if request.user.is_authenticated and app_settings.AUTHENTICATED_LOGIN_REDIRECTS:
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\functional.py", line 246, in inner
self._setup()
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\utils\functional.py", line 382, in _setup
self._wrapped = self._setupfunc()
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\middleware.py", line 23, in <lambda>
request.user = SimpleLazyObject(lambda: get_user(request))
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\middleware.py", line 11, in get_user
request._cached_user = auth.get_user(request)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\__init__.py", line 177, in get_user
user_id = _get_user_session_key(request)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\auth\__init__.py", line 60, in _get_user_session_key
return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY])
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 65, in __getitem__
return self._session[key]
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 238, in _get_session
self._session_cache = self.load()
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 43, in load
s = self._get_session_from_db()
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 32, in _get_session_from_db
return self.model.objects.get(
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 431, in get
num = len(clone)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 262, in __len__
self._fetch_all()
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\models\sql\compiler.py", line 1169, in execute_sql
cursor.execute(sql, params)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 98, in execute
return super().execute(sql, params)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "c:\Users\thardt\Documents\Web-Development\employeeweb\venv\lib\site-packages\sql_server\pyodbc\base.py", line 553, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name 'django_session'. (208) (SQLExecDirectW); [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Statement(s) could not be prepared. (8180)")
[13/Apr/2021 16:36:31] "GET / HTTP/1.1" 500 203174
我真的不知道我做错了什么。我读过无数有类似问题的帖子,但似乎没有任何帮助。
我的settings.py:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'Employee_Database_Test',
'USER': 'xxxx',
'PASSWORD': 'xxxx',
'HOST': 'ss-sql-02',
'PORT': '1433',
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
},
},
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
}
发布于 2021-04-14 23:11:02
所以,在经历了很多挠头之后...我已经将Django从3.2降级到3.0,将Allauth降级到0.42.0。运行所有的迁移,一切都会神奇地工作起来。我不确定问题的原因是什么,老实说,可能只是Django 3.2或Allauth和pyobdc之间的一些不兼容?
https://stackoverflow.com/questions/67078278
复制相似问题