如何强制首先迁移'django.contrib.sites'?

时间:2017-10-02 22:19:50

标签: python django

在使用python manage.py makemigrations中的函数的项目上使用django.contrib.sites时,我总是收到错误:

  

django.db.utils.OperationalError:没有这样的表:django_site

如果我注释掉使用应用程序的代码部分,并运行makemigrations,则可以正常运行。然后我可以取消注释并正常使用。

即使这个(坏)方法有效,但我想让它正常工作。我已将此应用放在settings.INSTALLED_APPS的顶部,但它无法解决。

使用站点应用程序的文件是一个带有一些实用程序功能的帮助文件,位于settings.py所在的文件夹中。我尝试移动到某个应用程序,并尝试删除项目应用程序所做的所有迁移,但它也没有解决它。

1 个答案:

答案 0 :(得分:0)

感谢knbk,我找到了答案。

我在帮助文件的全局范围变量中使用函数Site.objects.get_current().domain,该文件在迁移之前访问django_site

使其成为函数内的局部作用域,使其仅在迁移完成后运行。