title: Method for sorting an evaluated Queryset (Django)
body: <p>I have the following function and test:</p>
  
  <pre><code>def create_question(days, question_text="Empty"):
      time = timezone.now() + datetime.timedelta(days=days)
      return Question.objects.create(question_text = question_text, pub_date=time) 
  
  def test_two_past_questions(self):
      """
      The questions index page may display multiple questions.
      """
      create_question(question_text="Past question 1.", days=-30)
      create_question(question_text="Past question 2.", days=-5)
      response = self.client.get(reverse('polls:index'))
      self.assertQuerysetEqual(
          response.context['latest_question_list'].order_by('-pub_date'),
          ['&lt;Question: Past question 1.&gt;', '&lt;Question: Past question 2.&gt;'],
      )
  </code></pre>
  
  <p>This generates the following error:</p>
  
  <pre><code>Creating test database for alias 'default'...
  System check identified no issues (0 silenced).
  ....F...
  ======================================================================
  FAIL: test_two_past_questions (polls.tests.QuestionIndexViewTests)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/Users/sahandzarrinkoub/.local/share/virtualenvs/django/mysite/polls/tests.py", line 74, in test_two_past_questions
      latest_question_list.order_by('-pub_date')
    File 
  "/Users/sahandzarrinkoub/.local/share/virtualenvs/django/lib/python3.6/site-packages/django/db/models/query.py", line 962, in order_by
      "Cannot reorder a query once a slice has been taken."
  AssertionError: Cannot reorder a query once a slice has been taken.
  </code></pre>
  
  <p>To my understanding, it generates an error because the <code>Queryset</code> is already evaluated and <code>order_by</code> is only for reordering in the database. </p>
  
  <p>Without the failed sorting attepmpt, my test is failing because the objects are in wrong order:</p>
  
  <pre><code>FAIL: test_two_past_questions (polls.tests.QuestionIndexViewTests)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/Users/sahandzarrinkoub/.local/share/virtualenvs/django/mysite/polls/tests.py", line 77, in test_two_past_questions
      ['&lt;Question: Past question 1.&gt;', '&lt;Question: Past question 2.&gt;'],
    File "/Users/sahandzarrinkoub/.local/share/virtualenvs/django/lib/python3.6/site-packages/django/test/testcases.py", line 972, in assertQuerysetEqual
      return self.assertEqual(list(items), values, msg=msg)
  AssertionError: Lists differ: ['&lt;Question: Past question 2.&gt;', '&lt;Question: Past question 1.&gt;'] != ['&lt;Question: Past question 1.&gt;', '&lt;Question: Past question 2.&gt;']
  
  First differing element 0:
  '&lt;Question: Past question 2.&gt;'
  '&lt;Question: Past question 1.&gt;'
  
  - ['&lt;Question: Past question 2.&gt;', '&lt;Question: Past question 1.&gt;']
  ?                            ^                               ^
  
  + ['&lt;Question: Past question 1.&gt;', '&lt;Question: Past question 2.&gt;']
  ?                            ^                               ^
  </code></pre>
  
  <p>I want to ensure they are in the right order by sorting them by their <code>pub_date</code>. Is there a way of sorting a Queryset object like you would sort a normal list?</p>