Skip to content

Commit

Permalink
Add a README describing the project.
Browse files Browse the repository at this point in the history
Refs #7.
  • Loading branch information
mjtamlyn committed Apr 3, 2016
1 parent 66e97fd commit a664feb
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Django serial forms
===================

The Python API for Django's forms framework was designed over 10 years ago.
It's a beautiful declarative API which proved so popular it has been copied by
many other Django (and Python) projects, such as Django Rest Framework and
Marshmallow. Unfortunately, it suffers from a few major weaknesses. Most
notably, the declarative API makes it hard and ugly to customize on a
per-request basis, and the resulting object is deeply nested and entangled.
This makes it hard to introspect, and hard to swap certain layers of the
process.

We intend to change the fundamental architecture of forms and serializers,
creating a new type of serializer with a flexible approach to its construction,
and baked in introspectability and composability as the main design goals. We
aim to continue to keep a simple programming interface for simple tasks, but
make it easier to take the pieces apart and put them back together in your own
way. This will make more advanced features easier to build. Examples include:
forms which interact with multiple models, inline forms, GraphQL style APIs,
shared logic between HTML forms and JSON APIs, client side mirrored validation,
and self-describing APIs.

0 comments on commit a664feb

Please sign in to comment.