Django:关系" django_site"不存在

时间:2014-05-29 04:31:21

标签: python django

我在aws上运行测试django服务器,我刚刚安装了django-userena,当我尝试在点击提交时注册用户时,我收到以下消息:

  

关系“django_site”不存在第1行:   ...“django_site”。“domain”,“django_site”。“name”FROM“django_si ...

我不确定这里出了什么问题。我做了一些研究并将" 'django.contrib.sites',"添加到我安装的应用程序中,但我仍然收到错误。我将失去一个额外的步骤。有什么建议或意见吗?

10 个答案:

答案 0 :(得分:30)

我最近遇到了这个问题(Django 1.8.7),即使我的设置中有SITE_ID = 1。我必须在任何其他迁移之前手动迁移sites应用:

./manage.py migrate sites
./manage.py migrate

答案 1 :(得分:8)

您可能在创建网站模型之前调用网站对象(在syncdb或迁移之前)

例如:site = Site.objects.get(id = settings.SITE_ID)

答案 2 :(得分:7)

我遇到同样的问题并修复如下:

  1. SITE_ID=1添加到settings.py
  2. 运行此命令:

    python manage.py migrate
    

答案 3 :(得分:2)

一个可怕的代码导致我这个错误。我有一个全局变量来获取当前站点

SITE = Site.objects.get(pk=1)

这是在迁移过程中进行评估并导致错误。

答案 4 :(得分:1)

此问题可能是由您正在使用的其中一个应用引起的。如果仔细检查回溯,您可能已经找到了拖欠。

我使用django-debug-toolbarzinnia来解决这些问题。

如果您使用django-debug-toolbar,这可能是一个解决方案:

请尝试按照明确设置的步骤进行操作:http://django-debug-toolbar.readthedocs.org/en/1.2.2/installation.html#explicit-setup

或者从debug_toolbar删除INSTALLED APPS

如果这没有帮助,或者其他应用导致此问题,请尝试暂时删除回溯中显示的所有导入(例如已安装的应用,网址,自定义视图,设置)。

答案 5 :(得分:1)

要离开这里留给我未来:

python manage.py makemigrations allauth

这对我有用,我忘记了为什么,我花了太长时间才弄清楚我是如何第一次解决这个问题的

编辑:makemigrations有时不进行某些项目使用的第三方之类的事情,例如allauth,因此我必须指定那些

答案 6 :(得分:1)

在为我的项目(使用百日菊属)创建新的空数据库时,我遇到了同样的问题

在“管理迁移”之前运行“管理迁移站点”并不能解决任何问题。似乎在完成任何表创建之前就已加载了整个项目。

我决心捕获导入百日草相关的应用程序时产生的错误。

例如: 在应用程序的urls.py中

urlpatterns = None
app_name = 'something'

try:
    from .views import MyEntryCreate


    urlpatterns = [

    url(r'^blogentry/create/$',
        login_required(MyEntryCreate.as_view()),
        name='zinnia_entry-add'),

    ]
except Exception as e:
    logger.error(app_name+" Error urls: "+str(e))
    urlpatterns = []

必须在该应用的其他位置执行类似的操作,并且“管理迁移”再次起作用。

答案 7 :(得分:1)

如果在将Django应用程序部署到Heroku时遇到此错误,请确保已运行:

heroku run python manage.py migrate

这对我有用

答案 8 :(得分:1)

使用django-cookiecutterdjango-allauthdjango-rest-auth时出现此错误

我实际上花了5个小时将头发拔出。最终屈服并开始点点滴滴

对我有用的是注释掉两个预配置的url路径(它们随cookiecutter Django一起提供):

# User management
path("users/", include("yourapp.users.urls")),
path("accounts/", include("allauth.urls")),

在此之后迁移就可以了。

我对此未发表评论,自此我的应用一直有效。它仅用于初始迁移

希望它对某人有帮助!

答案 9 :(得分:0)

我来晚了,但是在django v 1.11中遇到了同样的问题。

问题是我正在正常def()之外并在form()中重建模型[我使用模型进行选择]追溯应该列出.py文件

例如

QPaintEvent

所以我不得不将其注释掉以重建我的迁移