title: Django: Return list of dicts for values_list?
body: <p>I've got this query:</p>
  
  <pre><code>cities = ShippingPrice.objects.filter(city1__name__icontains=request.REQUEST.get('city','')).values_list('city1__id','city1__name').order_by('city1__name').distinct()
  </code></pre>
  
  <p>Which returns a list of lists. It would be nice instead of doing <code>.values_list('city1__id','city1__name')</code> I could write:</p>
  
  <pre><code>.values_list({'id':'city1__id','name':'city1__name'})
  </code></pre>
  
  <p>And it would return me back a lists of dicts, like</p>
  
  <pre><code>[{'id':4135,'name':'Seattle'},{'id':4154,'name':'Vancouver'}]
  </code></pre>
  
  <p>Are there any existing methods to do that?</p>
  
  <hr>
  
  <p>I'm looking through the Django source code, but I'd have no idea how to override this:</p>
  
  <pre><code>def values_list(self, *fields, **kwargs):
      flat = kwargs.pop('flat', False)
      if kwargs:
          raise TypeError('Unexpected keyword arguments to values_list: %s'
                  % (kwargs.keys(),))
      if flat and len(fields) &gt; 1:
          raise TypeError("'flat' is not valid when values_list is called with more than one field.")
      return self._clone(klass=ValuesListQuerySet, setup=True, flat=flat,
              _fields=fields)
  </code></pre>