Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django 1.8 RC1:创建数据库表时发生编程错误_Python_Django_Database_Migrate - Fatal编程技术网

Python Django 1.8 RC1:创建数据库表时发生编程错误

Python Django 1.8 RC1:创建数据库表时发生编程错误,python,django,database,migrate,Python,Django,Database,Migrate,我将AbstractBaseUser用于各种项目中的用户模型。更新到Django 1.8 RC1工作顺利,我可以运行migrate管理命令。但是,当尝试从头开始创建新的数据库表布局时,出现以下错误: python manage.py migrate >>> ... >>> ... >>> django.db.utils.ProgrammingError: relation "auth_group" does not exist 所有这些都能

我将AbstractBaseUser用于各种项目中的用户模型。更新到Django 1.8 RC1工作顺利,我可以运行migrate管理命令。但是,当尝试从头开始创建新的数据库表布局时,出现以下错误:

python manage.py migrate
>>> ...
>>> ...
>>> django.db.utils.ProgrammingError: relation "auth_group" does not exist

所有这些都能与Django 1.7.x完美配合,我在其他地方找不到关于这个问题的任何信息。那么,这是RC1版本的一个大问题,还是在Django 1.8中做了一些我不知道的更改?不幸的是,错误消息没有真正的帮助。。。但我很确定这与新Django版本附带的自动迁移有关。

要复制我从上述Django票据中得到的答案:在调用“python manage.py migrate”创建数据库布局之前,需要为包含自定义用户类的应用程序创建迁移:

python manage.py makemigrations appname
这将在app目录中创建一个迁移文件-et voilá,migrate确实起作用并创建其他表。

我正在使用:

./manage.py makemigrations
然后

然后

./manage.py migrate

我遇到了一个非常类似的问题,抱怨Django 1.10中不存在“auth_group”关系

python manage.py makemigrations appname对我也没有帮助

即使是
python manage.py showmiglations
也无法工作,它们都引发了相同的错误

在详细检查回溯之后,我发现,在我的一个基于类的视图中,我用以下方式定义了
queryset
类变量:

Class SomeClassBasedView(ListView):
    queryset = User.objects.filter(groups=Group.objects.get(name='Tester'))
将其更改为覆盖
get\u queryset
函数intead后,它工作正常

Class SomeClassBasedView(ListView):
     def get_queryset(self):
         return User.objects.filter(groups=Group.objects.get(name='Tester'))

我在Django 1.8中遇到了几乎相同的问题,仅通过为具有自定义用户模型的应用程序运行
manage.py makemigrations app_name
解决了这个问题(+请阅读下文

e、 g:

以及对于包含
ForeignKey
的每个应用程序,
OneToOneField
等对其的引用,例如:

# another_app/models.py:
from django.conf import settings
from django.db import models


class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
然后
manage.py migrate
工作时没有出现错误


同样的方法适用于任何包含对django.contrib模型的扩展的应用程序,例如FlatPages等。

在django Bug跟踪器上创建了一张罚单:我得到了完全相同的问题!运气好吗?是的,完全忘了在这里发布答案。。。稍等。在我的情况下,它似乎对测试不起作用-仍然失败。切换后您的测试正常吗?我没有尝试任何测试,但应该正常。否则,你可能会考虑在Django站点创建一个bug票。QueQueSET是如何影响的?哇,非常感谢你。经过大约两个小时的搜索,所有其他答案终于解决了我的问题。不是“queryset”导致了它,而是
Group.objects.get(name='Tester')
一旦我注释掉了这些行,
makemigrations
和“migrate”工作正常。但是,当我将行放回时,我得到的
组匹配查询不存在
。显然,我需要更仔细地编写这段代码,但我真的没想到它会导致设置数据库时出现问题。顺便说一下,我正在使用Django 2.2
/manage.py makemigrations
抛出错误
“auth_group”不存在。
# some_app/models.py:
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    pass
# another_app/models.py:
from django.conf import settings
from django.db import models


class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)