我开始了一个新的Django 1.8项目并意识到我错过了一些东西(我已经完成了初始迁移)。我从我的所有应用程序中删除了数据库(postgreSQL)并删除了migration
个文件夹,以便从头开始。
现在,当我' syncdb'我收到这个错误:
django.db.utils.ProgrammingError: relation "auth_group" does not exist
当我makemigrations
时,我得到了这个:
No changes detected
我做错了什么?
答案 0 :(得分:18)
您可能应该尝试为应用创建migrations
个模块(名为migrations
的文件夹,其中包含每个目录中名为__init__.py
的空文件)。然后再次运行manage.py makemigrations
。
答案 1 :(得分:5)
问题出在no changes detected
上。请使用您的应用名称执行这些命令。我猜你没有添加它(就像我犯的错误一样):
python manage.py makemigrations myappname
python manage.py migrate myappname
答案 2 :(得分:2)
首先执行./manage.py migrate auth
对我不起作用,并且每个./manage.py
命令都会抛出此错误。我的问题是我在模块范围内使用Group
管理器。
如果在模块范围内有这样的代码:
customers_group = Group.objects.get(name='customers')
将其移动到在运行时调用的函数中。
def xyz():
...
customers_group = Group.objects.get(name='customers')
答案 3 :(得分:0)
如果已安装的应用程序中包含 django.contrib.admin ,则会出现上述错误。 按各自的顺序运行这些命令。
{
"@context": {
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"policyid": "@id",
"policytype": { "@id": "rdf:type", "@type": "@id" }
},
"policyid" : "http://example.com/policy:0099",
"policytype": "http://www.w3.org/ns/odrl/2/Set"
}
这对我很有用。
答案 4 :(得分:0)
可以是:
requirements.txt中的一个pip依赖项是使用South
运行在Django 1.8中进行迁移的测试时,出现此错误。通过在详细模式下运行测试找到有问题的lib。考虑将库升级到更新版本。
manage.py test -v 3
manage.py showmigrations
答案 5 :(得分:0)
我在Django2.2迁移中遇到了类似的问题。如果有人要解决此问题,我将发表帮助。
我注释掉了主项目urls.py
中所有应用程序的URL(例如my_app.urls,your_app.urls),然后运行了makemigrations
,它起作用了。
我认为此错误是由于某些表格/视图引用尚未创建的模型/字段引起的。似乎django在进行迁移之前先遍历urls.py
答案 6 :(得分:0)
您的路径之一(“将核心文件夹中的urls.py与settings.py一起指向”)使导入django.contrib.auth并在调用这些视图后直接使用“ auth”的方法和属性导致出现此问题< / p>
答案 7 :(得分:-1)
是INSTALLED_APPS中的django.contrib.auth吗?