gpt4 book ai didi

python - 执行 Django manage.py syncdb 时出错

转载 作者:行者123 更新时间:2023-11-28 19:23:40 25 4
gpt4 key购买 nike

很抱歉提出这种愚蠢的问题。我是 Django 的菜鸟。我正在关注 Django 官方教程,在 python3 manage.py syncdb 阶段我遇到了这个巨大的错误

    Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Traceback (most recent call last):
File "/usr/local/lib/python3.3/dist-packages/django/contrib/contenttypes/models.py", line 39, in get_for_model
ct = self._get_from_cache(opts)
File "/usr/local/lib/python3.3/dist-packages/django/contrib/contenttypes/models.py", line 29, in _get_from_cache
return self.__class__._cache[self.db][key]
KeyError: 'default'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.3/dist-packages/django/db/backends/util.py", line 46, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.3/dist-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 184, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/connections.py", line 37, in defaulterrorhandler
raise errorvalue
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 171, in execute
r = self._query(query)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 330, in _query
rowcount = self._do_query(q)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 294, in _do_query
db.query(q)
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s AND `django_content_type`.`app_label` = %s )' at line 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/__init__.py", line 397, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.3/dist-packages/django/core/management/__init__.py", line 390, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/base.py", line 240, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/base.py", line 283, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/base.py", line 413, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/commands/syncdb.py", line 112, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/usr/local/lib/python3.3/dist-packages/django/core/management/sql.py", line 216, in emit_post_sync_signal
interactive=interactive, db=db)
File "/usr/local/lib/python3.3/dist-packages/django/dispatch/dispatcher.py", line 182, in send
response = receiver(signal=self, sender=sender, **named)
File "/usr/local/lib/python3.3/dist-packages/django/contrib/auth/management/__init__.py", line 82, in create_permissions
ctype = ContentType.objects.db_manager(db).get_for_model(klass)
File "/usr/local/lib/python3.3/dist-packages/django/contrib/contenttypes/models.py", line 47, in get_for_model
defaults = {'name': smart_text(opts.verbose_name_raw)},
File "/usr/local/lib/python3.3/dist-packages/django/db/models/manager.py", line 154, in get_or_create
return self.get_queryset().get_or_create(**kwargs)
File "/usr/local/lib/python3.3/dist-packages/django/db/models/query.py", line 373, in get_or_create
return self.get(**lookup), False
File "/usr/local/lib/python3.3/dist-packages/django/db/models/query.py", line 301, in get
num = len(clone)
File "/usr/local/lib/python3.3/dist-packages/django/db/models/query.py", line 77, in __len__
self._fetch_all()
File "/usr/local/lib/python3.3/dist-packages/django/db/models/query.py", line 856, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python3.3/dist-packages/django/db/models/query.py", line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python3.3/dist-packages/django/db/models/sql/compiler.py", line 711, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python3.3/dist-packages/django/db/models/sql/compiler.py", line 777, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.3/dist-packages/django/db/backends/util.py", line 46, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.3/dist-packages/django/db/utils.py", line 99, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python3.3/dist-packages/django/utils/six.py", line 328, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.3/dist-packages/django/db/backends/util.py", line 46, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.3/dist-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 184, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/connections.py", line 37, in defaulterrorhandler
raise errorvalue
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 171, in execute
r = self._query(query)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 330, in _query
rowcount = self._do_query(q)
File "/usr/local/lib/python3.3/dist-packages/MySQL_python-1.2.3-py3.3-linux-x86_64.egg/MySQLdb/cursors.py", line 294, in _do_query
db.query(q)
django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s AND `django_content_type`.`app_label` = %s )' at line 1")

我已经成功安装了python3、mysql驱动。使用 ubuntu。这是我的 settings.py

    DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME' : 'blog',
'USER' : 'root',
'PASSWORD' : 'hellyeah',
'HOST' : '',
'PORT' : ''
}
}

如果有人告诉我哪里出了问题,那就太棒了..

最佳答案

这是因为您使用的是 Python 3 和 django。目前没有可用的驱动程序。既然是 django 和 Python 入门,为什么不使用 Sqlite,它有一个很好的 Python3 驱动程序,足以满足您的学习体验。

您也可以尝试使用 Postgres,但与 Sqlite 相比,它需要进行更多设置。

关于python - 执行 Django manage.py syncdb 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com