Django REST framework 3.14
Django 4.1 support
The latest release now fully supports Django 4.1, and drops support for Django 2.2.
Our requirements are now:
- Python 3.6+
- Django 4.1, 4.0, 3.2, 3.1, 3.0
raise_exceptions argument for is_valid is now keyword-only.
Calling serializer_instance.is_valid(True) is no longer acceptable syntax.
If you'd like to use the raise_exceptions argument, you must use it as a
keyword argument.
See Pull Request #7952 for more details.
ManyRelatedField supports returning the default when the source attribute doesn't exist.
Previously, if you used a serializer field with many=True with a dot notated source field
that didn't exist, it would raise an AttributeError. Now it will return the default or be
skipped depending on the other arguments.
See Pull Request #7574 for more details.
Make Open API get_reference public.
Returns a reference to the serializer component. This may be useful if you override get_schema().
Change semantic of OR of two permission classes.
When OR-ing two permissions, the request has to pass either class's has_permission() and has_object_permission().
Previously, both class's has_permission() was ignored when OR-ing two permissions together.
See Pull Request #7522 for more details.
Minor fixes and improvements
There are a number of minor fixes and improvements in this release. See the release notes page for a complete listing.