2016-02-12 119 views
0

我將django版本從1.7.5升級到1.9.2。所有遷移運行,但是當我運行測試我得到以下錯誤。Django升級:關係「django_content type」不存在

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

我檢查了數據庫,並且存在django_content_type模型。我正在使用PostgreSQL。

我只得到PostgreSQL的這個錯誤不是在SQLITE3 ..

回溯

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

你能運行一個未遷移的測試數據庫的測試? –

+0

@HåkenLidNo ...我創建了新的數據庫並遷移了...然後我運行了測試用例 – Naresh

+0

似乎與pycharm測試運行器相關。它確實看起來好像測試數據庫尚未遷移。您是否嘗試過不使用'--keepdb'運行測試? –

回答

0

我以前在舊版本的Django,但新版本的UUID領域和JSON領域的這些字段是默認提供Django模型。所以我取代了這些領域的Django的默認字段,再創建遷移....

現在,它的工作沒有任何問題..