-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a README describing the project.
Refs #7.
- Loading branch information
Showing
1 changed file
with
21 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |