2016-02-12 4 views
0

Я обновил версию django с 1.7.5 до 1.9.2. Все миграции выполнялись, но когда я запускал тесты, я становился ниже ошибки.Django Upgrade: отношение «тип django_content» не существует

django.db.utils.ProgrammingError: relation "django_content_type" does not exist 

Я проверил базу данных и модель django_content_type существует. Я использую PostgreSQL.

Я только получаю эту ошибку на PostgreSQL не в sqlite3 ..

Traceback

Traceback (most recent call last): 
    File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_test_manage.py", line 129, in 
    utility.execute() 
    File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_test_manage.py", line 104, in execute 
    PycharmTestCommand().run_from_argv(self.argv) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv 
    super(Command, self).run_from_argv(argv) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/commands/test.py", line 74, in execute 
    super(Command, self).execute(*args, **options) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_test_manage.py", line 91, in handle 
    failures = TestRunner(test_labels, verbosity=verbosity, interactive=interactive, failfast=failfast, keepdb='--keepdb' in sys.argv) 
    File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_test_runner.py", line 256, in run_tests 
    extra_tests=extra_tests, **options) 
    File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_test_runner.py", line 156, in run_tests 
    return super(DjangoTeamcityTestRunner, self).run_tests(test_labels, extra_tests, **kwargs) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/test/runner.py", line 532, in run_tests 
    old_config = self.setup_databases() 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/test/runner.py", line 482, in setup_databases 
    self.parallel, **kwargs 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/test/runner.py", line 726, in setup_databases 
    serialize=connection.settings_dict.get("TEST", {}).get("SERIALIZE", True), 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/db/backends/base/creation.py", line 70, in create_test_db 
    run_syncdb=True, 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/__init__.py", line 119, in call_command 
    return command.execute(*args, **defaults) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 172, in handle 
    self.sync_apps(connection, executor.loader.unmigrated_apps) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 293, in sync_apps 
    cursor.execute(statement) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/Users/Mac/my_env_test/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute 
    return self.cursor.execute(sql) 
django.db.utils.ProgrammingError: relation "django_content_type" does not exist 
+0

Не могли бы вы быть запущен тестов на unmigrated тестовой базе данных? –

+0

@ HåkenLid Нет ... я создал новую базу данных и мигрировал ..., а затем я запустил тестовые примеры – Naresh

+0

Кажется, что это связано с тестовым бегущем pycharm. Конечно, похоже, что тестовая база данных не была перенесена. Вы пробовали тесты без '--keepdb'? –

ответ

0

Я использовал UUID поле и поле JSON в старой версии Django, но в новой версии эти поля по умолчанию, предоставляемый модели django. Поэтому я заменил эти поля с полями Джанго по умолчанию и созданные миграции снова ....

Теперь его рабочий без любого вопроса ..

Смежные вопросы