mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-30 21:44:04 +03:00
73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
<style>
|
|
.promo li a {
|
|
float: left;
|
|
width: 130px;
|
|
height: 20px;
|
|
text-align: center;
|
|
margin: 10px 30px;
|
|
padding: 150px 0 0 0;
|
|
background-position: 0 50%;
|
|
background-size: 130px auto;
|
|
background-repeat: no-repeat;
|
|
font-size: 120%;
|
|
color: black;
|
|
}
|
|
.promo li {
|
|
list-style: none;
|
|
}
|
|
</style>
|
|
|
|
# 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_exception` 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_exception` argument, you must use it as a
|
|
keyword argument.
|
|
|
|
See Pull Request [#7952](https://github.com/encode/django-rest-framework/pull/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](https://github.com/encode/django-rest-framework/pull/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](https://github.com/encode/django-rest-framework/pull/7522) for more details.
|
|
|
|
## Minor fixes and improvements
|
|
|
|
There are a number of minor fixes and improvements in this release. See the [release notes](release-notes.md) page for a complete listing.
|
|
|
|
---
|
|
|
|
## Deprecations
|
|
|
|
### `serializers.NullBooleanField`
|
|
|
|
`serializers.NullBooleanField` was moved to pending deprecation in 3.12, and deprecated in 3.13. It has now been removed from the core framework.
|
|
|
|
Instead use `serializers.BooleanField` field and set `allow_null=True` which does the same thing.
|