跑步:

python manage.py migrate

失败原因:
django.db.utils.ProgrammingError: relation "django_site" does not exist
LINE 1: SELECT (1) AS "a" FROM "django_site" LIMIT 1

我已在安装的应用程序中包含django.contrib.sites,并在我的设置中包含SITE_ID = 1。我也尝试过用sites单独迁移python manage.py migrate sites应用程序,但用CommandError: App 'sites' does not have migrations迁移失败。
你知道如何解决这个问题吗?
已安装的应用程序:
INSTALLED_APPS = (
  'django.contrib.sites',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'users',
  'django.contrib.admin',
)

迁移错误:
Operations to perform:
  Apply all migrations: admin, contenttypes, users, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
update build with example
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying users.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying sessions.0001_initial... OK
Traceback (most recent call last):
  File "./test-project/manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 204, in handle
    emit_post_migrate_signal(self.verbosity, self.interactive, connection.alias)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/core/management/sql.py", line 50, in emit_post_migrate_signal
    using=db)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 192, in send
    response = receiver(signal=self, sender=sender, **named)
build without jspm for travis team
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/contrib/sites/management.py", line 20, in create_default_site
    if not Site.objects.using(using).exists():
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/models/query.py", line 651, in exists
    return self.query.has_results(using=self.db)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 501, in has_results
    return compiler.has_results()
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 823, in has_results
    return bool(self.execute_sql(SINGLE))
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 852, in execute_sql
    cursor.execute(sql, params)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/Users/conti/dev/test-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "django_site" does not exist
LINE 1: SELECT (1) AS "a" FROM "django_site" LIMIT 1
                               ^

最佳答案

通过从“我的设置”中删除站点迁移解决了此问题:

MIGRATION_MODULES = {
    'sites': 'contrib.sites.migrations'
}

关于python - ProgrammingError:关系“django_site”不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35508794/

10-12 18:42