python - Django-Oscar 没有这样的表:删除订单时的 main.customer_communicationeventtype
问题描述
我有一个从沙盒构建的 Django-Oscar 电子商务应用程序。我并没有真正改变代码中的任何东西,而是添加了一些产品和东西。
我尝试添加演示订单,但由于某种原因失败了,但创建了订单对象。当我试图从 django-admin 页面中删除对象时,它给了我以下错误:
django.db.utils.OperationalError: no such table: main.customer_communicationeventtype
Django v3.0.9
Basic SQLite3 DB
完整的追溯:
Internal Server Error: /admin/order/order/
Traceback (most recent call last):
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py", line 396, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: main.customer_communicationeventtype
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/lib/python3.7/contextlib.py", line 74, in inner
return func(*args, **kwds)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/options.py", line 607, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/sites.py", line 231, in inner
return view(request, *args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/options.py", line 1720, in changelist_view
response = self.response_action(request, queryset=cl.get_queryset(request))
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/options.py", line 1390, in response_action
response = func(self, request, queryset)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/actions.py", line 40, in delete_selected
modeladmin.delete_queryset(request, queryset)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/contrib/admin/options.py", line 1091, in delete_queryset
queryset.delete()
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/models/query.py", line 722, in delete
deleted, _rows_count = collector.delete()
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/models/deletion.py", line 314, in delete
count = qs._raw_delete(using=self.using)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/models/query.py", line 736, in _raw_delete
return sql.DeleteQuery(self.model).delete_qs(self, using)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/models/sql/subqueries.py", line 75, in delete_qs
cursor = self.get_compiler(using).execute_sql(CURSOR)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1152, in execute_sql
cursor.execute(sql, params)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 100, in execute
return super().execute(sql, params)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/Users/siddheshpisal/.pyenv/versions/3.7.1/envs/oscar/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py", line 396, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: main.customer_communicationeventtype
解决方案
您使用的沙盒代码和 Oscar 版本不兼容。
在最新版本的 Oscar (2.1) 中,通信模型已移至新应用程序 ( communication
)。您似乎正在使用 Oscar 2.1 版本和 2.1 之前的沙盒副本。
Oscar 2.1发行说明中记录了项目更新所需的步骤。
推荐阅读
- c# - 搜索文件夹范围
- python - Heroku 上的 Flask 应用程序无法检测到另一个文件进行身份验证
- r - 查找每个向量元素所在的范围
- flask - flask开发单终端:不退出flask继续编辑代码
- mysql - 无法将文件加载到 mysql 表:错误代码:2 - 没有这样的文件或目录
- php - 在我的 mysql 表中,在一个单元格中有行,我有数组。如何选择具有特定数组值的行?
- gams-math - gams 指定具有大量零的通量网络(稀疏矩阵)
- java - 在字符串数组中查找字符串值的搜索方法
- javascript - Slack bot 私人频道发布消息
- docker - 为什么在运行 docker 容器后网站会打印 403 禁止的 nginx 错误?