#29325: Django docs Polls App,Diferent queryset returns same object values but
QuestionIndexViewTests works for one query and fails for other
-------------------------------------+-------------------------------------
     Reporter:  hgamit               |                    Owner:  nobody
         Type:  Bug                  |                   Status:  closed
    Component:  Generic views        |                  Version:  2.0
     Severity:  Normal               |               Resolution:  invalid
     Keywords:  polls, model, tests  |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Tim Graham):

 * status:  new => closed
 * resolution:   => invalid


Old description:

> In polls application I added annotation to check one to many relationship
> between Question and Choice models such that, Index only return questions
> with more than one choices to be displayed but my testcase fails all the
> time with annotation where both query returns same data.
>
> views.py (Not Working: Added annotate(num =
> Count('choice')).filter(num__gt=1))
>
> class IndexView(generic.ListView):
> template_name = 'polls/index.html'
> context_object_name = 'latest_question_list'
>
> def get_queryset(self):
>     """Return the last five published questions."""
>     return Question.objects.annotate(num =
> Count('choice')).filter(num__gt=1).filter(pub___lte=timezone.now()).order_by('-pub_date')[:5]
>
> Error:
>
> Traceback (most recent call last): File
> "C:\Users\hmnsh\repos\DjangoApp\mysite\polls\tests.py", line 80, in
> test_past_question [''] File "C:\ProgramData\Anaconda3\envs\django\lib
> \site-packages\django\test\testcases.py", line 940, in
> assertQuerysetEqual return self.assertEqual(list(items), values, msg=msg)
> AssertionError: Lists differ: [] != ['']

New description:

 In polls application I added annotation to check one to many relationship
 between Question and Choice models such that, Index only return questions
 with more than one choices to be displayed but my testcase fails all the
 time with annotation where both query returns same data.

 views.py (Not Working: Added `annotate(num =
 Count('choice')).filter(num__gt=1))`
 {{{
 class IndexView(generic.ListView):
     template_name = 'polls/index.html'
     context_object_name = 'latest_question_list'

     def get_queryset(self):
         """Return the last five published questions."""
         return Question.objects.annotate(num =
 
Count('choice')).filter(num__gt=1).filter(pub___lte=timezone.now()).order_by('-pub_date')[:5]
 }}}
 Error:
 {{{
 Traceback (most recent call last): File
 "C:\Users\hmnsh\repos\DjangoApp\mysite\polls\tests.py", line 80, in
 test_past_question ['']
 File "C:\ProgramData\Anaconda3\envs\django\lib\site-
 packages\django\test\testcases.py", line 940, in assertQuerysetEqual
 return self.assertEqual(list(items), values, msg=msg) AssertionError:
 Lists differ: [] != ['']
 }}}

--

Comment:

 Please see TicketClosingReasons/UseSupportChannels for ways to get help.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29325#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.94b3db0c0ab718e06ea9202f23376c3b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to