title: How can I return display values for all selected fields and field names in QuerySet?
body: <p>I have a Django view that passes templated data to an html page as json. The issue I am having is that the actual database fields and fieldnames are passed instead of the human-readable name and result of get_FOO_display(), respectively. For clarity, here is what my model looks like:</p>
  <pre><code>class FooBar(models.Model):
      name = models.CharField('Name', max_length=255)
      AWAITING_CLASSIFICATION_STATUS = 1
      IN_PROGRESS_STATUS = 2
      AWAITING_REVIEW_STATUS = 3
      CLOSED_STATUS = 4
      STATUS_CHOICES = [
          (AWAITING_CLASSIFICATION_STATUS, 'Awaiting Classification'),
          (IN_PROGRESS_STATUS, 'In Progress'),
          (AWAITING_REVIEW_STATUS, 'Awaiting Review'),
          (CLOSED_STATUS, 'Closed')
      ]
      status = models.IntegerField('Status', choices=STATUS_CHOICES, default=AWAITING_CLASSIFICATION_STATUS)
  </code></pre>
  <p>And my view currently:</p>
  <pre><code>def IndexView(request):
      foo_list = FooBar.objects.all().values()
      json_list = json.dumps(list(foo_list))
      context = {'foo_list': json_list}
      return render(request, 'foo-app/index.html', context)
  </code></pre>
  <p>What my data looks like:</p>
  <pre><code>[
    {'name': &quot;name1&quot;, &quot;status&quot;: 1},
    {'name': &quot;name2&quot;, &quot;status&quot;: 2},
  ]
  </code></pre>
  <p>And what my data should look like:</p>
  <pre><code>[
    {'Name': &quot;name1&quot;, &quot;Status&quot;: &quot;Awaiting Classification&quot;},
    {'Name': &quot;name2&quot;, &quot;Status&quot;: &quot;In Progress&quot;},
  ]
  </code></pre>
  <p>Some ideas I have explored:</p>
  <ol>
  <li>Iterating over the list and looking up each based on the model (sounds like a lot of extra processing server side).</li>
  <li>Sending the QuerySet in its entirety and processing it client side (I think this would include more data than I would like to reveal to the client).</li>
  <li>Storing the data in the database in human readable form (nope).</li>
  </ol>
  <p>What is the most Pythonic/Djangonic way of doing this?</p>