我在aws上运行测试django服务器,我刚刚安装了django-userena,当我尝试在点击提交时注册用户时,我收到以下消息:
关系“django_site”不存在第1行: ...“django_site”。“domain”,“django_site”。“name”FROM“django_si ...
我不确定这里出了什么问题。我做了一些研究并将" 'django.contrib.sites',"
添加到我安装的应用程序中,但我仍然收到错误。我将失去一个额外的步骤。有什么建议或意见吗?
答案 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)
我遇到同样的问题并修复如下:
SITE_ID=1
添加到settings.py
运行此命令:
python manage.py migrate
答案 3 :(得分:2)
一个可怕的代码导致我这个错误。我有一个全局变量来获取当前站点
SITE = Site.objects.get(pk=1)
这是在迁移过程中进行评估并导致错误。
答案 4 :(得分:1)
此问题可能是由您正在使用的其中一个应用引起的。如果仔细检查回溯,您可能已经找到了拖欠。
我使用django-debug-toolbar
和zinnia
来解决这些问题。
如果您使用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-cookiecutter
,django-allauth
和django-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
所以我不得不将其注释掉以重建我的迁移