【发布时间】:2018-02-05 15:45:15
【问题描述】:
我有一个在 Django Windows 环境中开发的小型 Web 应用程序(使用 Postgres),它运行良好。我现在正试图将其移至 Redhat 6.8,但 makemigrations 失败了。
我已经安装了 Postgres 并在 Linux 上创建了数据库。我创建了新数据库,因为我不需要 Windows 上的任何旧测试数据。我移动了所有文件(.pyc 文件除外)。下面是我得到的错误。它似乎正在尝试访问尚未创建的表。 (它还没有创建,因为我还不能运行迁移(有点像鸡/蛋范式)。注意,从我读过的内容来看,我还删除了除了 init.py。我已经为此苦苦挣扎了好几个小时。任何帮助将不胜感激。
谢谢。
webtest2) [asilver@SDNAUTOS02 sdnlabs2]$ python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
utility.execute()
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
self.execute(*args, **cmd_options)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
self.check()
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
include_deployment_checks=include_deployment_checks,
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/management/
return checks.run_checks(**kwargs)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/checks/regi
new_errors = check(app_configs=app_configs)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/checks/urls
return check_resolver(resolver)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/core/checks/urls
return check_method()
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/urls/resolvers.p
for pattern in self.url_patterns:
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/utils/functional
res = instance.__dict__[self.name] = self.func(instance)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/urls/resolvers.p
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/utils/functional
res = instance.__dict__[self.name] = self.func(instance)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/urls/resolvers.p
return import_module(self.urlconf_name)
File "/usr/local/python2.7.14/lib/python2.7/importlib/__init__.py", line 37, in import_modul
__import__(name)
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/sdnlabs2/urls.py", line 24
url(r'^inventory/', include('inventory.urls')),
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/conf/urls/__init
urlconf_module = import_module(urlconf_module)
File "/usr/local/python2.7.14/lib/python2.7/importlib/__init__.py", line 37, in import_modul
__import__(name)
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/inventory/urls.py", line 3
from . import views
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/inventory/views.py", line
from .filters import *
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/inventory/filters.py", lin
class PerfvRtrOnlyFilter(django_filters.FilterSet):
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/inventory/filters.py", lin
choiceList = get_unique_choice_list(partial_query_set)
File "/home/asilver/pythonProjects/django/sdntest2/sdnweb/sdnlabs2/inventory/lib.py", line 20
y = set(querySet)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/db/models/query.
self._fetch_all()
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/db/models/query.
self._result_cache = list(self._iterable_class(self))
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/db/models/query.
for row in compiler.results_iter(chunked_fetch=self.chunked_fetch):
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/db/models/sql/co
results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch)
File "/home/asilver/.virtualenvs/webtest2/lib/python2.7/site-packages/django/db/models/sql/co
raise original_exception
django.db.utils.ProgrammingError: relation "inventory_perfvrtronly" does not exist
LINE 1: SELECT "inventory_perfvrtronly"."topoName" FROM "inventory_p...
^
(webtest2) [asilver@SDNAUTOS02 sdnlabs2]$
【问题讨论】:
-
如果您对迁移有疑问,您可以随时尝试删除本地环境中的所有
migrations目录,然后执行python manage.py migrate它将重新创建正确的迁移脚本。但这意味着您不能使用以前的转储,因为它会记住旧的迁移脚本。
标签: django postgresql