获取查询集与获取查询集,Django 1.5与1.6

获取查询集与获取查询集,Django 1.5与1.6,django,django-queryset,django-1.5,django-1.6,osqa,Django,Django Queryset,Django 1.5,Django 1.6,Osqa,看来我已经通过升级到Django 1.6解决了这个问题。只是好奇,发生了什么事。 我正在尝试与现有的Django应用程序集成,我遇到了一些非常微妙的问题。请看,这是一个PDB会话,没有多重继承: (Pdb) p type(self.get_query_set()) <class 'django.db.models.query.QuerySet'> (Pdb) p type(self.get_queryset()) <class 'forum.models.node.NodeQu

看来我已经通过升级到Django 1.6解决了这个问题。只是好奇,发生了什么事。

我正在尝试与现有的Django应用程序集成,我遇到了一些非常微妙的问题。请看,这是一个PDB会话,没有多重继承:

(Pdb) p type(self.get_query_set())
<class 'django.db.models.query.QuerySet'>
(Pdb) p type(self.get_queryset())
<class 'forum.models.node.NodeQuerySet'>
(Pdb)p类型(self.get\u query\u set())
(Pdb)p类型(self.get_queryset())
在Django 1.5中,默认的
Django.db.models.Manager
具有方法
all
(如
MyModel.objects.all()
)指向
Django/db/models/Manager.py
128行
get\u query\u set()。在Django中,1.6同样的方法指向
get\u queryset
,因为我想,
get\u queryset
已经被弃用了。顺便说一下,这是同一个文件的第133行

事实上,OSQA在Django 1.5中被破坏了,它失败了
***AttributeError:AttributeError(“QuerySet”对象没有“filter\u state”属性),
,因为在
forum/views/readers.py
,第
207行中,它有

questions=initial.filter\u state(deleted=False)
,没有这样的功能。在本例中,它被传递为
Question.objects.all()
forum.models.node.NodeQuerySet
,它确实具有所需的方法

(Pdb)来自forum.models导入问题
(Pdb)类型(Question.objects.all())
(Pdb)类型(Question.objects.get_queryset())
(Pdb)类型(Question.objects.get\u query\u set())