Django:栏不存在

时间:2018-06-26 07:46:55

标签: python django postgresql

所以我只是将更新推送到Web服务器,先执行makemigrations然后执行migrate,一切似乎都正常,然后刷新网站页面时出现此错误

跟踪:

Environment:


Request Method: GET
Request URL: http://0.0.0.0/

Django Version: 2.0.2
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'HomePage',
 'widget_tweaks',
 'Cart']

Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']


Template error:
In template /home/django/LovelyMemory/HomePage/templates/HomePage/base.html,                 error at line 8
   column HomePage_product.category_id does not exist
LINE 1: SELECT "HomePage_product"."id", "HomePage_product"."category...
                                    ^

   1 : {% load static %}
   2 : <!DOCTYPE html>
   3 : <html lang="en">
   4 : 
   5 : <head>
   6 :     <meta charset="utf-8">
   7 :     <meta http-equiv="X-UA-Compatible" content="IE=edge">
   8 :     <meta name="viewport" content="width =device-width, initial-scale=     1">
   9 : 
   10 :     <title>{% block title %} Lovely Memory {% endblock %}</title>
   11 : 
   12 :     <link rel="stylesheet" type="text/css" href="{% static     'css/style.css' %}"/>
   13 :     <link     href="https://stackpath.bootstrapcdn.com/bootswatch/4.1.1/minty/bootstrap.min.css    " rel="stylesheet"
   14 :           integrity="sha384-    4eGtnTOp6je5m6l1Zcp2WUGR9Y7kJZuAiD3Pk2GAW3uNRgHQSIqcrcAxBipzlbWP"     crossorigin="anonymous">
   15 :     <script defer     src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
   16 :     <!--[if lt IE 9]>
   17 :       <script     src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
   18 :       <script     src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>


Traceback:

File "/home/django/venv/lib/python3.5/site-    packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

The above exception (column HomePage_product.category_id does not exist
LINE 1: SELECT "HomePage_product"."id", "HomePage_product"."category...
                                    ^
) was the direct cause of the following exception:

File "/home/django/venv/lib/python3.5/site-    packages/django/core/handlers/exception.py" in inner
  35.             response = get_response(request)

File "/home/django/venv/lib/python3.5/site-    packages/django/core/handlers/base.py" in _get_response
  128.                 response = self.process_exception_by_middleware(e,     request)

File "/home/django/venv/lib/python3.5/site-    packages/django/core/handlers/base.py" in _get_response
  126.                 response = wrapped_callback(request, *callback_args,     **callback_kwargs)

File "/home/django/LovelyMemory/HomePage/views.py" in product_list
  25.     return render(request, 'HomePage/list.html', context)

File "/home/django/venv/lib/python3.5/site-packages/django/shortcuts.py" in     render
  36.     content = loader.render_to_string(template_name, context, request,     using=using)

File "/home/django/venv/lib/python3.5/site-    packages/django/template/loader.py" in render_to_string
  62.     return template.render(context, request)

File "/home/django/venv/lib/python3.5/site-    packages/django/template/backends/django.py" in render
  61.             return self.template.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py"     in render
  175.                     return self._render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py"     in _render
  167.         return self.nodelist.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render
  943.                 bit = node.render_annotated(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render_annotated
  910.             return self.render(context)

File "/home/django/venv/lib/python3.5/site-        packages/django/template/loader_tags.py" in render
  155.             return compiled_parent._render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in _render
  167.         return self.nodelist.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render
  943.                 bit = node.render_annotated(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render_annotated
  910.             return self.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/loader_tags.py" in render
  67.                 result = block.nodelist.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render
  943.                 bit = node.render_annotated(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/base.py" in render_annotated
  910.             return self.render(context)

File "/home/django/venv/lib/python3.5/site-packages/django/template/defaulttags.py" in render
  168.             len_values = len(values)

File "/home/django/venv/lib/python3.5/site-packages/django/db/models/query.py" in __len__
  254.         self._fetch_all()

File "/home/django/venv/lib/python3.5/site-packages/django/db/models/query.py" in _fetch_all
  1179.             self._result_cache = list(self._iterable_class(self))

File "/home/django/venv/lib/python3.5/site-packages/django/db/models/query.py" in __iter__
  53.         results =     compiler.execute_sql(chunked_fetch=self.chunked_fetch,     chunk_size=self.chunk_size)

File "/home/django/venv/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1064.             cursor.execute(sql, params)

File "/home/django/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  100.             return super().execute(sql, params)

File "/home/django/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
  68.         return self._execute_with_wrappers(sql, params, many=False,     executor=self._execute)

File "/home/django/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
  77.         return executor(sql, params, many, context)

File "/home/django/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

File "/home/django/venv/lib/python3.5/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from     exc_value

File "/home/django/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in _execute
  85.                 return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /
Exception Value: column HomePage_product.category_id does not exist
LINE 1: SELECT "HomePage_product"."id", "HomePage_product"."category...
                                    ^

所以我删除了所有以前的迁移,甚至删除了flush数据库,此错误仍然存​​在

我的设置:

Django(2.0.2)

独角兽(19.7.1)

PostgreSQL

关于如何解决此问题的任何想法?

这是迁移 migration

这是我的迁移文件夹 Folder

2 个答案:

答案 0 :(得分:1)

为什么要在服务器上而不是在本地环境中创建迁移(makemigration)?迁移应代表架构的历史记录,并且在发生错误时不应删除。 正如丹尼尔·罗斯曼(Daniel Roseman)所说:修复它们并再次运行它们。我希望您有数据库备份。

答案 1 :(得分:0)

确定要进行新的迁移并将其迁移到首页吗?因为似乎您的架构尚未更新,并且您的migrate命令确实没有应用任何新的迁移。

而且,就像butterfly_princess所说的那样,为什么首先要更新服务器?您应该先更新本地环境。