在使用python manage.py makemigrations
中的函数的项目上使用django.contrib.sites
时,我总是收到错误:
django.db.utils.OperationalError:没有这样的表:django_site
如果我注释掉使用应用程序的代码部分,并运行makemigrations
,则可以正常运行。然后我可以取消注释并正常使用。
即使这个(坏)方法有效,但我想让它正常工作。我已将此应用放在settings.INSTALLED_APPS
的顶部,但它无法解决。
使用站点应用程序的文件是一个带有一些实用程序功能的帮助文件,位于settings.py
所在的文件夹中。我尝试移动到某个应用程序,并尝试删除项目应用程序所做的所有迁移,但它也没有解决它。
答案 0 :(得分:0)
感谢knbk,我找到了答案。
我在帮助文件的全局范围变量中使用函数Site.objects.get_current().domain
,该文件在迁移之前访问django_site
。
使其成为函数内的局部作用域,使其仅在迁移完成后运行。