djangorestframework-recursive
Overview
Recursive Serialization for Django REST framework
This package provides a RecursiveField
that enables you to serialize a tree, linked list, or even a directed acyclic graph. Also supports validation, deserialization, ModelSerializers, and multi-step recursive structures.
Example
from rest_framework import serializers
from rest_framework_recursive.fields import RecursiveField
class TreeSerializer(serializers.Serializer):
name = serializers.CharField()
children = serializers.ListField(child=RecursiveField())
see here for more usage examples
Requirements
- Python (Tested on 2.7, 3.4, 3.6)
- Django (Tested on 1.8, 1.9, 2.0)
- Django REST Framework (Tested on 3.3, 3.7)
Installation
Install using pip
...
$ pip install djangorestframework-recursive
Release notes
0.1.2
- This is the first release to include release notes.
- Use inspect.signature when available. This avoids emitting deprecation warnings on Python 3.
- Updated CI versions. djangorestframework-recursive is now tested against DRF 3.3-3.6, Python 2.7 and 3.6 and Django 1.8-1.11.
Testing
Install testing requirements.
$ pip install -r requirements.txt
Run with runtests.
$ ./runtests.py
You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox globally, and then simply run:
$ tox