Я хочу переключить db-серверы с django_pyodbc на sqlite, чтобы убедиться, что моя пользовательская модель работает до того, как я начну возиться с моим db. Поэтому я прокомментировал параметр DATABASES и установил новый, который использует sqlite. Я делал это раньше (и в этом проекте) без проблем, но теперь я понятия не имею, что происходит.Django делает что-то странное с настройками DATABASES
syncdb
отвечает, как будто он смотрит на db, который уже синхронизирован, то есть он ничего не делает.
shell
, settings.DATABASES возвращает настройки для моего первоначального db (потрясающе, он все еще думает, что я использую бэкэнд sqlserver_ado, который я отключил для django_pyodbc пару недель назад), и я могу получить доступ к моделям, которые 't имеют какое-либо отношение к моей модели пользователя, но те, которые возвращают ошибку (потому что я изменил некоторые имена полей пользователя). В traceback я вижу, что он все еще смотрит на MSSQL db.
runserver
работает, но когда я иду на страницу, я получаю DatabaseError - нет такой таблицы: django_session. Место исключение в ... \ Джанго \ дб \ движки \ sqlite3 \ ...
Вот полный отслеживающий:
Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
187. response = middleware_method(request, response)
File "C:\Python27\lib\site-packages\django\contrib\sessions\middleware.py" in process_response
28. if request.session.get_expire_at_browser_close():
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\base.py" in get_expire_at_browser_close
253. if self.get('_session_expiry') is None:
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\base.py" in get
57. return self._session.get(key, default)
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\base.py" in _get_session
168. self._session_cache = self.load()
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\db.py" in load
18. expire_date__gt=timezone.now()
File "C:\Python27\lib\site-packages\django\db\models\manager.py" in get
143. return self.get_query_set().get(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\db\models\query.py" in get
398. num = len(clone)
File "C:\Python27\lib\site-packages\django\db\models\query.py" in __len__
106. self._result_cache = list(self.iterator())
File "C:\Python27\lib\site-packages\django\db\models\query.py" in iterator
317. for row in compiler.results_iter():
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in results_iter
775. for rows in self.execute_sql(MULTI):
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
840. cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\util.py" in execute
41. return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
366. six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
362. return Database.Cursor.execute(self, query, params)
И да; I есть попытался включить и выключить компьютер. Есть идеи? Спасибо.
== EDIT ==
Вот мои настройки базы данных:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': PROJECT_ROOT.child('temp_db').child('sqlite.db'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.django_pyodbc',
# 'NAME': my_project,
# 'USER': '',
# 'PASSWORD': '',
# 'HOST': my_host,
# 'PORT': '',
# 'OPTIONS': {
# 'driver': 'SQL Server',
# 'MARS_Connection': True,
# }
# }
# }
== EDIT2 ==
Я посмотрел в мои настройки папки, чтобы найти __init__.py
, base.py
, dev.py
и их связанных файлов .pyc. Кроме того, есть settings.pyc
файл без соответствующего .py файла (я предполагаю, что это остаток от прежде чем я нарубил settings.py
на отдельные куски, я попытался удалить его и снова делать syncdb
и получил это:.
C:\...\my_project>manage.py syncdb --settings=my_project.settings.devettings=web_ems.
Traceback (most recent call last):
File "C:\...\my_project\manage.py", line 15, in <module>
if settings.DEBUG:
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 53, in __getattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 48, in _setup
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 134, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s"% (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'my_project.settings.settings' (Is it on sys
.path?): No module named settings
Покажите нам свои 'settings.py'. – sachitad
Любые конкретные биты? – moarCoffee
'DATABASES' будет делать. – sachitad