【问题标题】:No such table as django_site没有像 django_site 这样的表
【发布时间】:2015-09-01 17:58:04
【问题描述】:

我遵循django-disqus 的文档在我的项目中使用它。我已经在我的设置中安装了它,还有其他需要的设置(API keyshort name)。但是当我尝试运行这些命令时:

>>> from django.contrib.sites.models import Site
>>> Site.objects.all()

我收到一个错误:

OperationalError: no such table: django_site

我已经在我的设置中安装了django.contrib.admin,并且正在我的项目中使用它。那我错过了什么?

【问题讨论】:

    标签: django django-admin django-settings


    【解决方案1】:

    确保您已将'django.contrib.sites' 添加到您的INSTALLED_APPS,然后运行migrate 以创建所需的表。

    python manage.py migrate
    

    【讨论】:

    • 是的,就是这样。谢谢。
    • 我仍然有一个问题。当我访问该页面时,它给了我这个错误:You're using the Django "sites framework" without having set the SITE_ID setting。在哪里添加 SITE_ID?请帮帮我。
    • 在您的 settings.py 中。完整说明请参见 here
    • 这对我不起作用。 manage.py test 出现此错误,即使我的 INSTALLED_APPS 中有 django.contrib.sites
    • @Cerin 这听起来像是一个无关的问题。由于您正在运行测试,因此您的测试数据库中可能缺少该表。
    【解决方案2】:

    对我来说,只有在开始使用站点应用程序之前进行迁移时,它才有效。 我必须删除代码中的所有导入,然后 makemigration/migrate。 之后我开始使用 Site 应用程序。

    【讨论】:

      猜你喜欢
      • 2014-02-11
      • 1970-01-01
      • 2013-09-21
      • 2019-08-13
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 2016-08-23
      • 2017-02-19
      相关资源
      最近更新 更多