title: Django orm count return only one result
body: <p>I have this table named <code>Orders</code> with each order having a status and I want to count the results based on status:</p>
  
  <pre><code>status_counts = Order.objects.all( ).values( 'status' ).annotate(
      pending = Count( Case(
          When( status__exact = Order.STATUS_PENDING, then = F( 'pk' ) )
      ) ),
      completed = Count( Case(
          When( status__exact = Order.STATUS_COMPLETED, then = F( 'pk' ) )
      ) ),
      failed = Count( Case(
          When( status__exact = Order.STATUS_FAILED, then = F( 'pk' ) )
      ) ),
      reversed = Count( Case(
          When( status__exact = Order.STATUS_REVERSED, then = F( 'pk' ) )
      ) ) )
  </code></pre>
  
  <p>The problem with my query is that it returns a result for each status:</p>
  
  <p><code>[{'completed': 4571, 'pending': 0, 'failed': 0, 'reversed': 0, 'status': 0}, {'completed': 0, 'pending': 2278, 'failed': 0, 'reversed': 0, 'status': 1}, {'completed': 0, 'pending': 0, 'failed': 0, 'reversed': 353, 'status': 3}]</code></p>
  
  <p>Is there a way I can have this result:</p>
  
  <p><code>{'completed': 4571, 'pending': 2278, 'failed': 0, 'reversed': 353, 'status': 0}</code></p>