gpt4 book ai didi

python - Django 说该表不存在,但它确实存在

转载 作者:行者123 更新时间:2023-11-29 11:21:29 24 4
gpt4 key购买 nike

我的最终目标是在新服务器上部署 Django 应用程序,而我拥有的只是旧服务器磁盘的原始镜像。我已经在新服务器上设置了所有内容:uwsgi、python、mysql、django 等。但是让我们解决我的问题:当我运行时

uwsgi --http :8001 --module propotolki.wsgi

它运行时没有错误,但是当我尝试通过浏览器访问它时,我在日志中看到以下堆栈跟踪:

Internal Server Error: / 
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 90, in get_response
response = middleware_method(request)
File "./apps/middleware/middleware.py", line 11, in process_request
if RedirectHandler.objects.filter(is_active=True, redirect_from=request.path).exists():
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 512, in exists
return self.query.has_results(using=self.db)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 409, in has_results
return bool(compiler.execute_sql(SINGLE))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 781, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 99, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'propotolki.middleware_redirecthandler' doesn't exist")

这是我从 mysql 控制台得到的信息,证明该表确实存在:

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| propotolki |
+--------------------+
4 rows in set (0.00 sec)

mysql> use propotolki;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_propotolki |
+---------------------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| bla_files_blafile |
| bla_files_sitefiles |
| calc_anglealum |
| calc_anglesteelwhite |
| calc_baseheight |
| calc_cellsize |
| calc_color |
| calc_outgo_bc_25 |
| calc_pendant |
| calc_price |
| calc_roofcolor |
| calc_size |
| catalog_brand |
| catalog_category |
| catalog_colortemperature |
| catalog_diffuser |
| catalog_floortype |
| catalog_lightoutput |
| catalog_order |
| catalog_orderinfo |
| catalog_product |
| catalog_product_categories |
| catalog_product_color_temperature |
| catalog_product_diffuser |
| catalog_product_floor_type |
| catalog_product_light_output |
| catalog_product_related |
| catalog_product_related_categories |
| catalog_productsliderimage |
| catalog_sessionbasket |
| chunks_chunk |
| chunks_group |
| chunks_image |
| chunks_media |
| django_admin_log |
| django_content_type |
| django_ipgeobase_ipgeobase |
| django_ipgeobase_ipgeobase_city |
| django_ipgeobase_ipgeobase_country |
| django_ipgeobase_ipgeobase_region |
| django_session |
| django_site |
| feedback_feedback |
| gallery_gallerygroup |
| gallery_galleryimage |
| left_menu_leftmenuitem |
| middleware_breadcrumbs |
| middleware_flatpages |
| middleware_redirecthandler |
| middleware_slidebar |
| propotolki.django_content_type |
| propotolki.middleware_redirecthandler |
| south_migrationhistory |
| thumbnail_kvstore |
| watson_searchentry |
+---------------------------------------+
61 rows in set (0.01 sec)

我远不是 Django 专家,所以请询问任何需要的信息。我还尝试执行 python manager.pysyncdb 但我收到类似的错误,告诉其他表也不存在:

# python manage.py syncdb
Syncing...
Creating tables ...
Traceback (most recent call last):
File "manage.py", line 9, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 285, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 415, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/south/management/commands/syncdb.py", line 92, in handle_noargs
syncdb.Command().execute(**options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 285, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 415, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/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/python2.7/dist-packages/django/core/management/sql.py", line 216, in emit_post_sync_signal
interactive=interactive, db=db)
File "/usr/local/lib/python2.7/dist-packages/django/dispatch/dispatcher.py", line 185, in send
response = receiver(signal=self, sender=sender, **named)
File "/usr/local/lib/python2.7/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/python2.7/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/python2.7/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/python2.7/dist-packages/django/db/models/query.py", line 373, in get_or_create
return self.get(**lookup), False
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 301, in get
num = len(clone)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 77, in __len__
self._fetch_all()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 854, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 710, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 781, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 99, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
django.db.utils.ProgrammingError: (1146, "Table 'propotolki.django_content_type' doesn't exist")

最佳答案

你的表名是如何以“.”结尾的?在他们中?这是一个特殊的角色。

| propotolki.django_content_type        |
| propotolki.middleware_redirecthandler |

尝试:

ALTER TABLE `propotolki.middleware_redirecthandler` RENAME TO middleware_redirecthandler

您也需要对 django_content_type 表执行相同的操作。

关于python - Django 说该表不存在,但它确实存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38828394/

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