Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 1.99 KB

README.md

File metadata and controls

77 lines (50 loc) · 1.99 KB

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