Skip to main content

Writable nested serializers with forms for the Browsable API

Project description

:warning: Work In Progress :warning:

Writable Nested Serializers with Browsable API Forms

This plugin is intended to provide writable nested serializers (similar to the recommended plugin from DRF documentation) that bring their own forms for the Browsable API renderer.

Try it out

This project's dependencies are managed using poetry

git clone https://github.com/pcouy/drf-nested-browsable
cd drf-nested-browsable
poetry install
cd example
poetry shell
python manage.py migrate
python manage.py runserver

The above commands will install the dependencies, run the DB migrations, and launch a development server of the example project that uses the provided serializers.

Current state of the project

Done

  • Ability to write to a reverse ForeignKey relationship using serializer Meta class
  • Dynamic form for WritableNestedListSerializer that allows adding and removing children from the Browsable API
  • Arbitrary nesting depth
  • Dynamically removing the parent field from serializers when used as an inner serializer
  • Basic example
  • Support RecursiveField from djangorestframework-recursive

To do

  • Write documentation / Auto-generate it from the docstrings (pdoc ?)
  • Write tests/specs (from example ?)
  • Better form design
  • Add ManyToMany to example (and test it)
  • Consider database schema constrains :
    • Look into what drf-writable-nested does with uniqueness
    • When the foreign key can be null, show a multiple select field for attaching orphan instances to a parent instance
    • Show a multiple select field for ManyToMany relationships

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf_nested_browsable-0.4.1.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

drf_nested_browsable-0.4.1-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page