gitextract_snnuc0bd/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ └── config.yml │ ├── dependabot.yml │ ├── release.yml │ ├── stale.yml │ └── workflows/ │ ├── main.yml │ ├── mkdocs-deploy.yml │ └── release.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── .tx/ │ └── config ├── CONTRIBUTING.md ├── LICENSE.md ├── MANIFEST.in ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── SECURITY.md ├── codecov.yml ├── codespell-ignore-words.txt ├── docs/ │ ├── CNAME │ ├── api-guide/ │ │ ├── authentication.md │ │ ├── caching.md │ │ ├── content-negotiation.md │ │ ├── exceptions.md │ │ ├── fields.md │ │ ├── filtering.md │ │ ├── format-suffixes.md │ │ ├── generic-views.md │ │ ├── metadata.md │ │ ├── pagination.md │ │ ├── parsers.md │ │ ├── permissions.md │ │ ├── relations.md │ │ ├── renderers.md │ │ ├── requests.md │ │ ├── responses.md │ │ ├── reverse.md │ │ ├── routers.md │ │ ├── schemas.md │ │ ├── serializers.md │ │ ├── settings.md │ │ ├── status-codes.md │ │ ├── testing.md │ │ ├── throttling.md │ │ ├── validators.md │ │ ├── versioning.md │ │ ├── views.md │ │ └── viewsets.md │ ├── community/ │ │ ├── 3.0-announcement.md │ │ ├── 3.1-announcement.md │ │ ├── 3.10-announcement.md │ │ ├── 3.11-announcement.md │ │ ├── 3.12-announcement.md │ │ ├── 3.13-announcement.md │ │ ├── 3.14-announcement.md │ │ ├── 3.15-announcement.md │ │ ├── 3.16-announcement.md │ │ ├── 3.2-announcement.md │ │ ├── 3.3-announcement.md │ │ ├── 3.4-announcement.md │ │ ├── 3.5-announcement.md │ │ ├── 3.6-announcement.md │ │ ├── 3.7-announcement.md │ │ ├── 3.8-announcement.md │ │ ├── 3.9-announcement.md │ │ ├── contributing.md │ │ ├── jobs.md │ │ ├── kickstarter-announcement.md │ │ ├── mozilla-grant.md │ │ ├── project-management.md │ │ ├── release-notes.md │ │ ├── third-party-packages.md │ │ └── tutorials-and-resources.md │ ├── index.md │ ├── theme/ │ │ ├── js/ │ │ │ └── prettify-1.0.js │ │ ├── main.html │ │ ├── src/ │ │ │ ├── README.md │ │ │ └── drf-logos.fig │ │ └── stylesheets/ │ │ ├── extra.css │ │ └── prettify.css │ ├── topics/ │ │ ├── ajax-csrf-cors.md │ │ ├── browsable-api.md │ │ ├── browser-enhancements.md │ │ ├── documenting-your-api.md │ │ ├── html-and-forms.md │ │ ├── internationalization.md │ │ ├── rest-hypermedia-hateoas.md │ │ └── writable-nested-serializers.md │ └── tutorial/ │ ├── 1-serialization.md │ ├── 2-requests-and-responses.md │ ├── 3-class-based-views.md │ ├── 4-authentication-and-permissions.md │ ├── 5-relationships-and-hyperlinked-apis.md │ ├── 6-viewsets-and-routers.md │ └── quickstart.md ├── licenses/ │ ├── bootstrap.md │ └── jquery.json-view.md ├── mkdocs.yml ├── pyproject.toml ├── rest_framework/ │ ├── __init__.py │ ├── apps.py │ ├── authentication.py │ ├── authtoken/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── management/ │ │ │ ├── __init__.py │ │ │ └── commands/ │ │ │ ├── __init__.py │ │ │ └── drf_create_token.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_auto_20160226_1747.py │ │ │ ├── 0003_tokenproxy.py │ │ │ ├── 0004_alter_tokenproxy_options.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── serializers.py │ │ └── views.py │ ├── checks.py │ ├── compat.py │ ├── decorators.py │ ├── exceptions.py │ ├── fields.py │ ├── filters.py │ ├── generics.py │ ├── locale/ │ │ ├── ach/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ar/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── az/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── be/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── bg/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ca/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ca_ES/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── cs/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── da/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── de/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── el/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── el_GR/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── en/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── en_AU/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── en_CA/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── en_US/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── es/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── et/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── fa/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── fa_IR/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── fi/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── fr/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── fr_CA/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── gl/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── gl_ES/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── he_IL/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── hu/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── hy/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── id/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── it/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ja/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── kk/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ko_KR/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── lt/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── lv/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── mk/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── nb/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ne_NP/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── nl/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── nn/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── no/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── pl/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── pt/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── pt_BR/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── pt_PT/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ro/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ru/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── ru_RU/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── sk/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── sl/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── sv/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── th/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── tr/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── tr_TR/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── uk/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── vi/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── zh_CN/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── zh_Hans/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ ├── zh_Hant/ │ │ │ └── LC_MESSAGES/ │ │ │ ├── django.mo │ │ │ └── django.po │ │ └── zh_TW/ │ │ └── LC_MESSAGES/ │ │ ├── django.mo │ │ └── django.po │ ├── management/ │ │ ├── __init__.py │ │ └── commands/ │ │ ├── __init__.py │ │ └── generateschema.py │ ├── metadata.py │ ├── mixins.py │ ├── negotiation.py │ ├── pagination.py │ ├── parsers.py │ ├── permissions.py │ ├── relations.py │ ├── renderers.py │ ├── request.py │ ├── response.py │ ├── reverse.py │ ├── routers.py │ ├── schemas/ │ │ ├── __init__.py │ │ ├── generators.py │ │ ├── inspectors.py │ │ ├── openapi.py │ │ ├── utils.py │ │ └── views.py │ ├── serializers.py │ ├── settings.py │ ├── static/ │ │ └── rest_framework/ │ │ ├── css/ │ │ │ ├── bootstrap-tweaks.css │ │ │ ├── default.css │ │ │ ├── font-awesome-4.0.3.css │ │ │ └── prettify.css │ │ └── js/ │ │ ├── ajax-form.js │ │ ├── csrf.js │ │ ├── default.js │ │ ├── load-ajax-form.js │ │ └── prettify-min.js │ ├── status.py │ ├── templates/ │ │ └── rest_framework/ │ │ ├── admin/ │ │ │ ├── detail.html │ │ │ ├── dict_value.html │ │ │ ├── list.html │ │ │ ├── list_value.html │ │ │ └── simple_list_value.html │ │ ├── admin.html │ │ ├── api.html │ │ ├── base.html │ │ ├── filters/ │ │ │ ├── base.html │ │ │ ├── ordering.html │ │ │ └── search.html │ │ ├── horizontal/ │ │ │ ├── checkbox.html │ │ │ ├── checkbox_multiple.html │ │ │ ├── dict_field.html │ │ │ ├── fieldset.html │ │ │ ├── form.html │ │ │ ├── input.html │ │ │ ├── list_field.html │ │ │ ├── list_fieldset.html │ │ │ ├── radio.html │ │ │ ├── select.html │ │ │ ├── select_multiple.html │ │ │ └── textarea.html │ │ ├── inline/ │ │ │ ├── checkbox.html │ │ │ ├── checkbox_multiple.html │ │ │ ├── dict_field.html │ │ │ ├── fieldset.html │ │ │ ├── form.html │ │ │ ├── input.html │ │ │ ├── list_field.html │ │ │ ├── list_fieldset.html │ │ │ ├── radio.html │ │ │ ├── select.html │ │ │ ├── select_multiple.html │ │ │ └── textarea.html │ │ ├── login.html │ │ ├── login_base.html │ │ ├── pagination/ │ │ │ ├── numbers.html │ │ │ └── previous_and_next.html │ │ ├── raw_data_form.html │ │ └── vertical/ │ │ ├── checkbox.html │ │ ├── checkbox_multiple.html │ │ ├── dict_field.html │ │ ├── fieldset.html │ │ ├── form.html │ │ ├── input.html │ │ ├── list_field.html │ │ ├── list_fieldset.html │ │ ├── radio.html │ │ ├── select.html │ │ ├── select_multiple.html │ │ └── textarea.html │ ├── templatetags/ │ │ ├── __init__.py │ │ └── rest_framework.py │ ├── test.py │ ├── throttling.py │ ├── urlpatterns.py │ ├── urls.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── breadcrumbs.py │ │ ├── encoders.py │ │ ├── field_mapping.py │ │ ├── formatting.py │ │ ├── html.py │ │ ├── humanize_datetime.py │ │ ├── json.py │ │ ├── mediatypes.py │ │ ├── model_meta.py │ │ ├── representation.py │ │ ├── serializer_helpers.py │ │ ├── timezone.py │ │ └── urls.py │ ├── validators.py │ ├── versioning.py │ ├── views.py │ └── viewsets.py ├── runtests.py ├── setup.cfg ├── tests/ │ ├── __init__.py │ ├── authentication/ │ │ ├── __init__.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ └── test_authentication.py │ ├── browsable_api/ │ │ ├── __init__.py │ │ ├── auth_urls.py │ │ ├── no_auth_urls.py │ │ ├── serializers.py │ │ ├── test_browsable_api.py │ │ ├── test_browsable_nested_api.py │ │ ├── test_form_rendering.py │ │ └── views.py │ ├── conftest.py │ ├── generic_relations/ │ │ ├── __init__.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ └── test_generic_relations.py │ ├── importable/ │ │ ├── __init__.py │ │ └── test_installed.py │ ├── models.py │ ├── schemas/ │ │ ├── __init__.py │ │ ├── test_get_schema_view.py │ │ ├── test_managementcommand.py │ │ ├── test_openapi.py │ │ └── views.py │ ├── test_atomic_requests.py │ ├── test_authtoken.py │ ├── test_bound_fields.py │ ├── test_decorators.py │ ├── test_description.py │ ├── test_encoders.py │ ├── test_exceptions.py │ ├── test_fields.py │ ├── test_filters.py │ ├── test_generics.py │ ├── test_htmlrenderer.py │ ├── test_lazy_hyperlinks.py │ ├── test_metadata.py │ ├── test_middleware.py │ ├── test_model_serializer.py │ ├── test_multitable_inheritance.py │ ├── test_negotiation.py │ ├── test_one_to_one_with_inheritance.py │ ├── test_pagination.py │ ├── test_parsers.py │ ├── test_permissions.py │ ├── test_prefetch_related.py │ ├── test_relations.py │ ├── test_relations_hyperlink.py │ ├── test_relations_pk.py │ ├── test_relations_slug.py │ ├── test_renderers.py │ ├── test_request.py │ ├── test_requests_client.py │ ├── test_response.py │ ├── test_reverse.py │ ├── test_routers.py │ ├── test_serializer.py │ ├── test_serializer_bulk_update.py │ ├── test_serializer_lists.py │ ├── test_serializer_nested.py │ ├── test_settings.py │ ├── test_status.py │ ├── test_templates.py │ ├── test_templatetags.py │ ├── test_testing.py │ ├── test_throttling.py │ ├── test_urlpatterns.py │ ├── test_utils.py │ ├── test_validation.py │ ├── test_validation_error.py │ ├── test_validators.py │ ├── test_versioning.py │ ├── test_views.py │ ├── test_viewsets.py │ ├── test_write_only_fields.py │ ├── urls.py │ └── utils.py └── tox.ini