skip to navigation
skip to content

Not Logged In

djason 0.2.1

Convert django models to sensible json format

Django JSON Serializer

This is a django serializer that outputs sensible json to be sent to the frontend, rather than intended as a serializer to a file. Here's an example:

>>> print s.serialize(User.objects.all(), relations=['groups'], excludes=['user_permissions'], indent=4)
[
    {
        "username": "dusty",
        "first_name": "",
        "last_name": "",
        "is_active": true,
        "is_superuser": true,
        "is_staff": true,
        "last_login": "2010-11-26 13:27:07",
        "groups": [
            {
                "pk": 1,
                "model": "auth.group",
                "name": "hello",
                "permissions": []
            }
        ],
        "pk": 1,
        "model": "auth.user",
        "password": "sha1$8f816$b4c8139100c314b46f1ca931858e4d6d5c61917f",
        "email": "dusty@linux.ca",
        "date_joined": "2010-11-22 17:55:40"
    }
]

The default serializer (djason.json) spits out a list of objects as a string. You can optionally have it return that list wrapped in an HttpResponse object by passing the httpresponse=True option into serialize.

There is a second serializer that takes two optional parameters, attributes (a dict) and list_name (a string). This serializer returns a dictionary with any key value attributes in the attributes dictionary, and one extra attribute named list_name, which contains the list of objects as returned by the json serializer. For example:

>>> print s.serialize(User.objects.all(), relations=['groups'], excludes=['user_permissions'], indent=4, attributes={'somekey': 'somevalue'}, list_name="users")
{
    "somekey": "somevalue",
    "users": [
        {
            "username": "dusty",
            "first_name": "",
            "last_name": "",
            "is_active": true,
            "is_superuser": true,
            "is_staff": true,
            "last_login": "2010-11-26 13:27:07",
            "groups": [
                {
                    "pk": 1,
                    "model": "auth.group",
                    "name": "hello",
                    "permissions": []
                }
            ],
            "pk": 1,
            "model": "auth.user",
            "password": "sha1$8f816$b4c8139100c314b46f1ca931858e4d6d5c61917f",
            "email": "dusty@linux.ca",
            "date_joined": "2010-11-22 17:55:40"
        }
    ]
}

This project was originally forked from: https://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers

The original code produced a json format that was good for ./manage.py dump and load, but wasn't as suitable for sending data to a web client for processing via ajax.

What's new

Version 0.2 - Added a serializer that allows including the serialized object inside an object with extra attributes - Added an 'httpresponse' option that will automatically wrap the serialized stream in an HttpResponse object Version 0.1

 
File Type Py Version Uploaded on Size
djason-0.2.1.linux-i686.tar.gz (md5)
built for Linux-2.6.38-ARCH-i686-Genuine_Intel-R-_CPU_T2500_@_2.00GHz-with-glibc2.0
"dumb" binary any 2011-05-13 15KB
djason-0.2.1.tar.gz (md5) Source 2011-05-13 6KB
  • Downloads (All Versions):
  • 20 downloads in the last day
  • 71 downloads in the last week
  • 367 downloads in the last month