diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 120000 index 025215c5e6..0000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -docs/community/release-notes.md \ No newline at end of file diff --git a/docs/community/3.10-announcement.md b/docs/community/3.10-announcement.md index 7197eb591d..469e3d3f7f 100644 --- a/docs/community/3.10-announcement.md +++ b/docs/community/3.10-announcement.md @@ -1,18 +1,45 @@ # Django REST framework 3.10 +## Python 3 Only. -* Reworked OpenAPI schema generation. -* Python 3 only. +The 3.10 release is our first to drop support for Python 2. +Our supported Python versions are currently 3.5, 3.6, and 3.7. + +Our support Django versions are currently 1.11, 2.0, 2.1, and 2.2. ## OpenAPI Schema Generation. -Since we first introduced schema support in Django REST Framework 3.5, OpenAPI has emerged as the widely adopted standard for modelling Web APIs. +Since we first introduced schema support in Django REST Framework 3.5, OpenAPI has emerged as the widely adopted standard for modeling Web APIs. -This release deprecates the old CoreAPI based schema generation, and introduces improved OpenAPI schema generation in its place. +This release begins the deprecation process for the CoreAPI based schema generation, and introduces OpenAPI schema generation in its place. ----- +--- + +## Continuing to use CoreAPI + +If you're currently using the CoreAPI schemas, you'll need to make sure to +update your REST framework settings to include `DEFAULT_SCHEMA_CLASS` explicitly. + +**settings.py**: + +```python +REST_FRAMEWORK = { + ... + 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema' +} +``` + +You'll still be able to keep using CoreAPI schemas, API docs, and client for the +foreseeable future. We'll aim to ensure that the CoreAPI schema generator remains +available as a third party package, even once it has eventually been removed +from REST framework, scheduled for version 3.12. + +We have removed the old documentation for the CoreAPI based schema generation. +You may view the [Legacy CoreAPI documentation here][legacy-core-api-docs]. + +--- **Switching mode between `CoreAPI` and `OpenAPI`** @@ -40,9 +67,13 @@ REST_FRAMEWORK = { ---- -### Quickstart +## Quickstart + +You can generate a static OpenAPI schema, using the `generateschema` management +command. -To get going with `OpenAPI` schemas, use the `get_schema_view()` shortcut. +Alternately, to have the project serve an API schema, use the `get_schema_view()` +shortcut. In your `urls.py`: @@ -62,43 +93,41 @@ urlpatterns = [ ] ``` -See the Schemas documentation for more details. +### Customization -### Feature Roadmap +For customizations that you want to apply across the the entire API, you can subclass `rest_framework.schemas.openapi.SchemaGenerator` and provide it as an argument +to the `generateschema` command or `get_schema_view()` helper function. -For v3.7 (with `CoreAPI`) we tried to anticipate customizations that people -were likely to need. (Introducing `manual_fields` and `ManaualSchema`, for -example.) These were under-utilised. They weren't the right abstractions. +For specific per-view customizations, you can subclass `AutoSchema`, +making sure to set `schema = ` on the view. -So, for a fresh start with `OpenAPI`, customizing schema generation has two -simple rules: +For more details, see the [API Schema documentation](../api-guide/schemas.md). -* Subclass `SchemaGenerator` for schema-level cusomizations. -* Subclass `AutoSchema` for view-level customizations. +### API Documentation -We'll wait to see what subclasses people actually come up with, for the -customizations they actually need, before trying to bring that back into the -core framework. +There are some great third party options for documenting your API, based on the +OpenAPI schema. -There are two kinds of changes that easily predictable: +See the [Documenting you API](../topics/documenting-your-api.md) section for more details. -* General improvements which fill in gaps in the automatic schema generation. -* More use-case specific adjustments, which adjust the API of `SchemaGenerator` - or `AutoSchema` - -We'll aim to bring the first type of change quickly in point releases. For the -second kind we'd like to adopt a slower approach, to make sure we keep the API -simple, and as widely applicable as possible, before we bring in API changes. +--- -We trust that approach makes sense. +## Feature Roadmap -### Deprecating CoreAPI Schema Generation. +Given that our OpenAPI schema generation is a new feature, it's likely that there +will still be some iterative improvements for us to make. There will be two +main cases here: -The in-built docs that were introduced in Django REST Framework v3.5 were built on CoreAPI. These are now deprecated. You may continue to use them but they will be **removed in Django REST Framework v 3.12**. +* Expanding the supported range of OpenAPI schemas that are generated by default. +* Improving the ability for developers to customize the output. -You should migrate to using the new OpenAPI based schema generation as soon as you can. +We'll aim to bring the first type of change quickly in point releases. For the +second kind we'd like to adopt a slower approach, to make sure we keep the API +simple, and as widely applicable as possible, before we bring in API changes. -We have removed the old documentation for the CoreAPI based schema generation. -You may view the [Legacy CoreAPI documentation here][legacy-core-api-docs]. +It's also possible that we'll end up implementing API documentation and API client +tooling that are driven by the OpenAPI schema. The `apistar` project has a +significant amount of work towards this. However, if we do so, we'll plan +on keeping any tooling outside of the core framework. [legacy-core-api-docs]:https://github.com/encode/django-rest-framework/blob/master/docs/coreapi/index.md diff --git a/docs/community/release-notes.md b/docs/community/release-notes.md index 4ed89d4051..e3f3820d3a 100644 --- a/docs/community/release-notes.md +++ b/docs/community/release-notes.md @@ -42,12 +42,21 @@ You can determine your currently installed version using `pip show`: ### 3.10.0 -**Date**: [Unreleased][3.10.0-milestone] +**Date**: [15th July 2019][3.10.0-milestone] +* Switch to OpenAPI schema generation. +* Drop Python 2 support. +* Add `generateschema --generator_class` CLI option * Updated PyYaml dependency for OpenAPI schema generation to `pyyaml>=5.1` [#6680][gh6680] * Resolve DeprecationWarning with markdown. [#6317][gh6317] -* Add `generateschema --generator_class` CLI option - +* Use `user.get_username` in templates, in preference to `user.username`. +* Fix for cursor pagination issue that could occur after object deletions. +* Fix for nullable fields with `source="*"` +* Always apply all throttle classes during throttling checks. +* Updates to jQuery and Markdown dependencies. +* Don't strict disallow redundant `SerializerMethodField` field name arguments. +* Don't render extra actions in browable API if not authenticated. +* Strip null characters from search parameters. ## 3.9.x series diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index cead7568da..5ecc151e5e 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -8,7 +8,7 @@ """ __title__ = 'Django REST framework' -__version__ = '3.9.3' +__version__ = '3.10.0' __author__ = 'Tom Christie' __license__ = 'BSD 2-Clause' __copyright__ = 'Copyright 2011-2019 Encode OSS Ltd' diff --git a/rest_framework/locale/ach/LC_MESSAGES/django.mo b/rest_framework/locale/ach/LC_MESSAGES/django.mo index 495c1ce7d7..0fe8c3e93a 100644 Binary files a/rest_framework/locale/ach/LC_MESSAGES/django.mo and b/rest_framework/locale/ach/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ar/LC_MESSAGES/django.mo b/rest_framework/locale/ar/LC_MESSAGES/django.mo index 73d87ba67a..19a41dfd6e 100644 Binary files a/rest_framework/locale/ar/LC_MESSAGES/django.mo and b/rest_framework/locale/ar/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/be/LC_MESSAGES/django.mo b/rest_framework/locale/be/LC_MESSAGES/django.mo index 13a9e25693..62321f7a40 100644 Binary files a/rest_framework/locale/be/LC_MESSAGES/django.mo and b/rest_framework/locale/be/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ca/LC_MESSAGES/django.mo b/rest_framework/locale/ca/LC_MESSAGES/django.mo index 28faf17fff..0f72ec0394 100644 Binary files a/rest_framework/locale/ca/LC_MESSAGES/django.mo and b/rest_framework/locale/ca/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ca_ES/LC_MESSAGES/django.mo b/rest_framework/locale/ca_ES/LC_MESSAGES/django.mo index 3a733aa1bf..f46cd7f6de 100644 Binary files a/rest_framework/locale/ca_ES/LC_MESSAGES/django.mo and b/rest_framework/locale/ca_ES/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/cs/LC_MESSAGES/django.mo b/rest_framework/locale/cs/LC_MESSAGES/django.mo index 4352fb0913..1561cd98c5 100644 Binary files a/rest_framework/locale/cs/LC_MESSAGES/django.mo and b/rest_framework/locale/cs/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/da/LC_MESSAGES/django.mo b/rest_framework/locale/da/LC_MESSAGES/django.mo index 1983e068fc..77fd7c2abb 100644 Binary files a/rest_framework/locale/da/LC_MESSAGES/django.mo and b/rest_framework/locale/da/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/de/LC_MESSAGES/django.mo b/rest_framework/locale/de/LC_MESSAGES/django.mo index eb0ddf66dd..0042572ef9 100644 Binary files a/rest_framework/locale/de/LC_MESSAGES/django.mo and b/rest_framework/locale/de/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/el/LC_MESSAGES/django.mo b/rest_framework/locale/el/LC_MESSAGES/django.mo index d275dba3b7..b44b9ea9c3 100644 Binary files a/rest_framework/locale/el/LC_MESSAGES/django.mo and b/rest_framework/locale/el/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/el_GR/LC_MESSAGES/django.mo b/rest_framework/locale/el_GR/LC_MESSAGES/django.mo index 67018c3f97..2f23ce5f26 100644 Binary files a/rest_framework/locale/el_GR/LC_MESSAGES/django.mo and b/rest_framework/locale/el_GR/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/en/LC_MESSAGES/django.mo b/rest_framework/locale/en/LC_MESSAGES/django.mo index 79ab585222..68e5600ae2 100644 Binary files a/rest_framework/locale/en/LC_MESSAGES/django.mo and b/rest_framework/locale/en/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/en_AU/LC_MESSAGES/django.mo b/rest_framework/locale/en_AU/LC_MESSAGES/django.mo index d24f22cb4b..3a595d935c 100644 Binary files a/rest_framework/locale/en_AU/LC_MESSAGES/django.mo and b/rest_framework/locale/en_AU/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/en_CA/LC_MESSAGES/django.mo b/rest_framework/locale/en_CA/LC_MESSAGES/django.mo index ef1569c0b3..930db1b4e5 100644 Binary files a/rest_framework/locale/en_CA/LC_MESSAGES/django.mo and b/rest_framework/locale/en_CA/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/en_US/LC_MESSAGES/django.mo b/rest_framework/locale/en_US/LC_MESSAGES/django.mo index 3714ec8fab..6c5906d1cd 100644 Binary files a/rest_framework/locale/en_US/LC_MESSAGES/django.mo and b/rest_framework/locale/en_US/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/es/LC_MESSAGES/django.mo b/rest_framework/locale/es/LC_MESSAGES/django.mo index 372bf6bf63..6efb9bdd15 100644 Binary files a/rest_framework/locale/es/LC_MESSAGES/django.mo and b/rest_framework/locale/es/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/et/LC_MESSAGES/django.mo b/rest_framework/locale/et/LC_MESSAGES/django.mo index eaadf454b6..8deba1eb0a 100644 Binary files a/rest_framework/locale/et/LC_MESSAGES/django.mo and b/rest_framework/locale/et/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/fa/LC_MESSAGES/django.mo b/rest_framework/locale/fa/LC_MESSAGES/django.mo index 0f9b58f3fe..0e73156d43 100644 Binary files a/rest_framework/locale/fa/LC_MESSAGES/django.mo and b/rest_framework/locale/fa/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/fa_IR/LC_MESSAGES/django.mo b/rest_framework/locale/fa_IR/LC_MESSAGES/django.mo index 9a02cb05e2..1f72e1090f 100644 Binary files a/rest_framework/locale/fa_IR/LC_MESSAGES/django.mo and b/rest_framework/locale/fa_IR/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/fi/LC_MESSAGES/django.mo b/rest_framework/locale/fi/LC_MESSAGES/django.mo index e0231cfb34..67dd26ef2c 100644 Binary files a/rest_framework/locale/fi/LC_MESSAGES/django.mo and b/rest_framework/locale/fi/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/fr/LC_MESSAGES/django.mo b/rest_framework/locale/fr/LC_MESSAGES/django.mo index e3ba4a2c50..b462e08d71 100644 Binary files a/rest_framework/locale/fr/LC_MESSAGES/django.mo and b/rest_framework/locale/fr/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/fr_CA/LC_MESSAGES/django.mo b/rest_framework/locale/fr_CA/LC_MESSAGES/django.mo index 1771787f8a..77bcff117b 100644 Binary files a/rest_framework/locale/fr_CA/LC_MESSAGES/django.mo and b/rest_framework/locale/fr_CA/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/gl/LC_MESSAGES/django.mo b/rest_framework/locale/gl/LC_MESSAGES/django.mo index 030e25f940..87d65da74a 100644 Binary files a/rest_framework/locale/gl/LC_MESSAGES/django.mo and b/rest_framework/locale/gl/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/gl_ES/LC_MESSAGES/django.mo b/rest_framework/locale/gl_ES/LC_MESSAGES/django.mo index 90c4212bac..a9a0273f19 100644 Binary files a/rest_framework/locale/gl_ES/LC_MESSAGES/django.mo and b/rest_framework/locale/gl_ES/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/he_IL/LC_MESSAGES/django.mo b/rest_framework/locale/he_IL/LC_MESSAGES/django.mo index 55ffe5403c..acd15d9fd0 100644 Binary files a/rest_framework/locale/he_IL/LC_MESSAGES/django.mo and b/rest_framework/locale/he_IL/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/hu/LC_MESSAGES/django.mo b/rest_framework/locale/hu/LC_MESSAGES/django.mo index 8b884fbed0..8fadddcea1 100644 Binary files a/rest_framework/locale/hu/LC_MESSAGES/django.mo and b/rest_framework/locale/hu/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/id/LC_MESSAGES/django.mo b/rest_framework/locale/id/LC_MESSAGES/django.mo index beb9643b05..471d5a830e 100644 Binary files a/rest_framework/locale/id/LC_MESSAGES/django.mo and b/rest_framework/locale/id/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/it/LC_MESSAGES/django.mo b/rest_framework/locale/it/LC_MESSAGES/django.mo index a9510eb89b..1d4fd34c38 100644 Binary files a/rest_framework/locale/it/LC_MESSAGES/django.mo and b/rest_framework/locale/it/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ja/LC_MESSAGES/django.mo b/rest_framework/locale/ja/LC_MESSAGES/django.mo index 9ce42cfb36..5b9dbd8da6 100644 Binary files a/rest_framework/locale/ja/LC_MESSAGES/django.mo and b/rest_framework/locale/ja/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo b/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo index 9fb8ae2798..570ff6f538 100644 Binary files a/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo and b/rest_framework/locale/ko_KR/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/lv/LC_MESSAGES/django.mo b/rest_framework/locale/lv/LC_MESSAGES/django.mo index 2dc5956f3c..b4accc34ef 100644 Binary files a/rest_framework/locale/lv/LC_MESSAGES/django.mo and b/rest_framework/locale/lv/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/mk/LC_MESSAGES/django.mo b/rest_framework/locale/mk/LC_MESSAGES/django.mo index ae9956f258..752263456c 100644 Binary files a/rest_framework/locale/mk/LC_MESSAGES/django.mo and b/rest_framework/locale/mk/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/nb/LC_MESSAGES/django.mo b/rest_framework/locale/nb/LC_MESSAGES/django.mo index 536cb32720..fc57ebb9ff 100644 Binary files a/rest_framework/locale/nb/LC_MESSAGES/django.mo and b/rest_framework/locale/nb/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/nl/LC_MESSAGES/django.mo b/rest_framework/locale/nl/LC_MESSAGES/django.mo index 782bf16343..ed74bffa0d 100644 Binary files a/rest_framework/locale/nl/LC_MESSAGES/django.mo and b/rest_framework/locale/nl/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/nn/LC_MESSAGES/django.mo b/rest_framework/locale/nn/LC_MESSAGES/django.mo index a2c1e01f8d..6c28661ea5 100644 Binary files a/rest_framework/locale/nn/LC_MESSAGES/django.mo and b/rest_framework/locale/nn/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/no/LC_MESSAGES/django.mo b/rest_framework/locale/no/LC_MESSAGES/django.mo index 2c058c8c75..808e0a2d54 100644 Binary files a/rest_framework/locale/no/LC_MESSAGES/django.mo and b/rest_framework/locale/no/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/pl/LC_MESSAGES/django.mo b/rest_framework/locale/pl/LC_MESSAGES/django.mo index 99840f55c0..436580b356 100644 Binary files a/rest_framework/locale/pl/LC_MESSAGES/django.mo and b/rest_framework/locale/pl/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/pt/LC_MESSAGES/django.mo b/rest_framework/locale/pt/LC_MESSAGES/django.mo index 9e3c7ab2f4..c88991bfa6 100644 Binary files a/rest_framework/locale/pt/LC_MESSAGES/django.mo and b/rest_framework/locale/pt/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/pt_BR/LC_MESSAGES/django.mo b/rest_framework/locale/pt_BR/LC_MESSAGES/django.mo index 2740e8c13a..008629823d 100644 Binary files a/rest_framework/locale/pt_BR/LC_MESSAGES/django.mo and b/rest_framework/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/pt_PT/LC_MESSAGES/django.mo b/rest_framework/locale/pt_PT/LC_MESSAGES/django.mo index 754e181547..67da6164b9 100644 Binary files a/rest_framework/locale/pt_PT/LC_MESSAGES/django.mo and b/rest_framework/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ro/LC_MESSAGES/django.mo b/rest_framework/locale/ro/LC_MESSAGES/django.mo index 6a8ada9a7c..0d6f6f942f 100644 Binary files a/rest_framework/locale/ro/LC_MESSAGES/django.mo and b/rest_framework/locale/ro/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/ru/LC_MESSAGES/django.mo b/rest_framework/locale/ru/LC_MESSAGES/django.mo index 88c582b136..85918d65ab 100644 Binary files a/rest_framework/locale/ru/LC_MESSAGES/django.mo and b/rest_framework/locale/ru/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/sk/LC_MESSAGES/django.mo b/rest_framework/locale/sk/LC_MESSAGES/django.mo index 83d43c8222..c82ae3e097 100644 Binary files a/rest_framework/locale/sk/LC_MESSAGES/django.mo and b/rest_framework/locale/sk/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/sl/LC_MESSAGES/django.mo b/rest_framework/locale/sl/LC_MESSAGES/django.mo index 9ac13843f7..33aba7cf4c 100644 Binary files a/rest_framework/locale/sl/LC_MESSAGES/django.mo and b/rest_framework/locale/sl/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/sv/LC_MESSAGES/django.mo b/rest_framework/locale/sv/LC_MESSAGES/django.mo index 232b5bceee..7abf311b96 100644 Binary files a/rest_framework/locale/sv/LC_MESSAGES/django.mo and b/rest_framework/locale/sv/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/tr/LC_MESSAGES/django.mo b/rest_framework/locale/tr/LC_MESSAGES/django.mo index 586b494c32..fcdff0a983 100644 Binary files a/rest_framework/locale/tr/LC_MESSAGES/django.mo and b/rest_framework/locale/tr/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/tr_TR/LC_MESSAGES/django.mo b/rest_framework/locale/tr_TR/LC_MESSAGES/django.mo index c0665f5372..2999352a2a 100644 Binary files a/rest_framework/locale/tr_TR/LC_MESSAGES/django.mo and b/rest_framework/locale/tr_TR/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/uk/LC_MESSAGES/django.mo b/rest_framework/locale/uk/LC_MESSAGES/django.mo index 0c8102088b..9772bedc56 100644 Binary files a/rest_framework/locale/uk/LC_MESSAGES/django.mo and b/rest_framework/locale/uk/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/vi/LC_MESSAGES/django.mo b/rest_framework/locale/vi/LC_MESSAGES/django.mo index 578308acfd..c76cfe5958 100644 Binary files a/rest_framework/locale/vi/LC_MESSAGES/django.mo and b/rest_framework/locale/vi/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo b/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo index 00afcdb9a6..f30b04ea12 100644 Binary files a/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo and b/rest_framework/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/zh_Hans/LC_MESSAGES/django.mo b/rest_framework/locale/zh_Hans/LC_MESSAGES/django.mo index a784846b2d..d85317ebc9 100644 Binary files a/rest_framework/locale/zh_Hans/LC_MESSAGES/django.mo and b/rest_framework/locale/zh_Hans/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/zh_Hant/LC_MESSAGES/django.mo b/rest_framework/locale/zh_Hant/LC_MESSAGES/django.mo index 08954cc4b5..0d8ccaa555 100644 Binary files a/rest_framework/locale/zh_Hant/LC_MESSAGES/django.mo and b/rest_framework/locale/zh_Hant/LC_MESSAGES/django.mo differ diff --git a/rest_framework/locale/zh_TW/LC_MESSAGES/django.mo b/rest_framework/locale/zh_TW/LC_MESSAGES/django.mo index b3158f9eb9..2f85c2f82b 100644 Binary files a/rest_framework/locale/zh_TW/LC_MESSAGES/django.mo and b/rest_framework/locale/zh_TW/LC_MESSAGES/django.mo differ