我试图使用VS代码设置我的环境,我注意到,当我运行python manage.py migrate命令时,我得到以下错误。这很奇怪,因为这个项目是新的,从我做的研究中,我注意到有些人因为改变了一些文件而出错,在我的情况下,我没有改变任何文件。这是一个新的清洁项目。
我所做的就是删除默认的SQL lite数据库,并用SQL server数据库配置代替它。我注意到创建了2个表,即django_content_type和django_migrations,然后该过程失败,是否有可能获得某种详细的日志,看看问题是什么?
我得到的错误详细信息如下。
(env) PS C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingreporting_project> python manage.py makemigrations
No changes detected
(env) PS C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingreporting_project> python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial...Traceback (most recent call last):
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingreporting_projectmanage.py", line 22, in <module>
main()
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingreporting_projectmanage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagement__init__.py", line 419, in execute_from_command_line
utility.execute()
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagement__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagementbase.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagementbase.py", line 398, in execute
output = self.handle(*args, **options)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagementbase.py", line 89, in wrapped
res = handle_func(*args, **kwargs)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangocoremanagementcommandsmigrate.py", line 244, in handle
post_migrate_state = executor.migrate(
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbmigrationsexecutor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbmigrationsexecutor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbmigrationsexecutor.py", line 227, in apply_migration
state = migration.apply(state, schema_editor)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbmigrationsmigration.py", line 126, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbmigrationsoperationsmodels.py", line 528, in database_forwards
alter_together(
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagessql_serverpyodbcschema.py", line 156, in alter_unique_together
self.execute(sql)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagessql_serverpyodbcschema.py", line 861, in execute
sql = str(sql)
File "C:UsersUserDocumentsdjangofeaturedjangodeployment_reportingenvlibsite-packagesdjangodbbackendsddl_references.py", line 201, in __str__
return self.template % self.parts
KeyError: 'include'
我在我的设置文件中添加了以下内容:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'django_reporting',
'HOST': 'DESKTOP-OIDEV2',
'PORT': '',
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
},
},
}
我在其他地方找到了这个问题的另一个答案,如果有帮助请告诉我c:
"我做了以下操作:
使用pip uninstall django-pyodbc或pip3 uninstall django-pyodbc
使用pip uninstall django-pyodbc-azure-2019或pip3 uninstall django-pyodbc-azure-2019 (for Linux)
我的问题已经解决,希望你的应用程序运行顺利。:-(">
我通常使用postgresql数据库,所以我个人从未见过这个问题。
多亏了ruffishkimbr,他的回答中有一个错别字,为了不让任何人感到困惑。我在这里张贴我所做的。首先,我运行的django版本是3.2.6
我所做的是按照ruffishkimbr的指示。运行
卸载pyodbypython -m pip uninstall pyodbc
然后运行
安装django-pyodbc-azure-2019python -m pip install django-pyodbc-azure-2019