Django REST framework 3.13
+Django 4.0 support
+The latest release now fully supports Django 4.0.
+Our requirements are now:
+-
+
- Python 3.6+ +
- Django 4.0, 3.2, 3.1, 2.2 (LTS) +
Fields arguments are now keyword-only
+When instantiating fields on serializers, you should always use keyword arguments,
+such as serializers.CharField(max_length=200)
. This has always been the case,
+and all the examples that we have in the documentation use keyword arguments,
+rather than positional arguments.
From REST framework 3.13 onwards, this is now explicitly enforced.
+The most feasible cases where users might be accidentally omitting the keyword arguments
+are likely in the composite fields, ListField
and DictField
. For instance...
aliases = serializers.ListField(serializers.CharField())
+
+They must now use the more explicit keyword argument style...
+aliases = serializers.ListField(child=serializers.CharField())
+
+This change has been made because using positional arguments here does not result in the expected behaviour.
+See Pull Request #7632 for more details.
+ + +