2

Django 1.6 にアップグレードすることで問題が解決したようです。何が起こっていたのか、ただ興味があります。

OSQAを既存の Django アプリと統合しようとしていますが、非常に微妙な問題が発生しています。それを見てください --- これは 1 つの 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'>

Django 1.5 では、デフォルトで( のように)の行を指すdjango.db.models.Managerメソッドがあります。Django 1.6では、この同じメソッドが を指しています。ちなみに、これは 同じファイルの行です。allMyModel.objects.all()get_query_set()128django/db/models/manager.pyget_querysetget_query_set133

実際、 Django 1.5*** AttributeError: AttributeError("'QuerySet' object has no attribute 'filter_state'",)ではOSQA が壊れて います。forum/views/readers.py207

questions = initial.filter_state(deleted=False)、そのような機能はありません。この場合、それは として渡さQuestion.objects.all()initialますが、どういうわけか、必要なメソッドを持つ のdjango.db.models.query.QuerySet代わりに なってしまいます。forum.models.node.NodeQuerySet

(Pdb) from forum.models import Question (Pdb) type(Question.objects.all()) <class 'django.db.models.query.QuerySet'> (Pdb) type(Question.objects.get_queryset()) <class 'forum.models.node.NodeQuerySet'> (Pdb) type(Question.objects.get_query_set()) <class 'django.db.models.query.QuerySet'>

4

0 に答える 0