JSONField with a hacky support for quering ========================================== WARNING: It is not advised to use in a high-loaded projects! There is a native django.contrib.postgres.fields.JSONField for Postgres (new in Django 1.9): https://docs.djangoproject.com/en/1.9/ref/contrib/postgres/fields/#querying-jsonfield This module was tested on Django >=1.4, <=1.8. Example: class Person(models.Model): ... info = JSONField(default = {}) objects = JSONAwareManager(json_fields = ['info']) ... obj = Person.objects.create(name = "Bill") obj.info = { 'sex': 'male', 'address': { 'city', 'Perth', 'country', 'Canada', 'planet', 'Earth', } } obj.save() Person.objects.filter(info__address__country = 'Canada') >>> [Person: "Bill"] Original code was taken from: http://natebeacham.com/blog/nate-beacham/31/ (the original link is broken, but you can still have a look at the archived page http://web.archive.org/web/20100916231900/http://natebeacham.com/blog/nate-beacham/31/ )