django rest framework recursive

Recursive Serialization for Django REST framework

315
39
Python

djangorestframework-recursive

build-status-image
pypi-version

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