Skip to content

fork of official 1.1.0 version of this package to manage related models with django 1.7+

License

Notifications You must be signed in to change notification settings

normic/wadofstuff-django-serializers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extended Django Serializer Module
=================================

The wadofstuff.django.serializers python module extends Django's built-in
serializers, adding 3 new capabilities inspired by the Ruby on Rails JSON
serializer. These parameters allow the developer more control over how their
models are serialized.

The additional capabilities are:

- excludes - a list of fields to be excluded from serialization. The
  excludes list takes precedence over the fields argument.
- extras - a list of non-model field properties or callables to be
  serialized.
- relations - a list or dictionary of model related fields to be followed
  and serialized.

To use it simply add it to SERIALIZATION_MODULES in your settings.py.

Example of serializing a relation
---------------------------------

    >>> serializers.serialize('json', Group.objects.all(), indent=4, relations=('permissions',))
    [
        {
            "pk": 2,
            "model": "auth.group",
            "fields": {
                "name": "session",
                "permissions": [
                    {
                        "pk": 19,
                        "model": "auth.permission",
                        "fields": {
                            "codename": "add_session",
                            "name": "Can add session",
                            "content_type": 7
                        }
                    }
                ]
            }
        }
    ]

About

fork of official 1.1.0 version of this package to manage related models with django 1.7+

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%