Convert a ValuesQuerySet to an array of dicts (useful for serializing)

1
2
3
4
5
6
7
def ValuesQuerySetToDict(vqs):
    return [item for item in vqs]

# Usage
data=MyModel.objects.values('id','title','...','...')
data_dict = ValuesQuerySetToDict(data)
data_json = simplejson.dumps(data_dict)

More like this

  1. JSON encoding middleware by kcarnold 4 years, 11 months ago
  2. CSV to JSON Fixture by briangershon 3 years, 9 months ago
  3. JsonResponse by zakj 6 years, 1 month ago
  4. Improved YAML serializer for large databases by rspeer 4 years, 1 month ago
  5. Retrieve Latitude & Longitude for an Address from Google Geocoder V3 by whardeman 2 years, 6 months ago

Comments

siloraptor (on June 3, 2011):

Django provides native means of serialising it's models:

from django.core import serializers data = serializers.serialize("xml", SomeModel.objects.all())

https://docs.djangoproject.com/en/dev/topics/serialization/

#

waitinforatrain (on June 3, 2011):

@siloraptor That won't let you serialise a ValuesQuerySet result

#

rix (on June 3, 2011):

Why not converting to a list?

list(MyModel.objects.values('id','title','...','...'))

#

waitinforatrain (on June 5, 2011):

Didn't know you could do that. Dicts can be useful if you want to create more complex nested JSON.

#

(Forgotten your password?)