django-rest-framework/rest_framework
Stian Jensen dba9493a90
Don't evaluate default_timezone unless needed (#8531)
If you set a custom timezone for a DateTimeField, the function
self.default_timezone() is still called, since fallback params to
getattr are still evaluated.

This rewrites to use hasattr, so the fallback case is only executed if
it will actually be used. If you render a lot of DateTimeFields in a
serializer, the time spent evaluating default_timezone() once for each
of them can accumulate to quite a bit, which is just unused work in the
case where timezone is already specified on the field.
2022-06-24 11:28:00 +01:00
..
authtoken Don't hit db to access user_id in TokenProxy (#7852) 2021-03-19 11:46:09 +00:00
locale Translations updated from transifex and compiled 2020-10-13 22:05:24 +02:00
management Add file option to generateschema (#7130) 2020-02-12 20:35:54 +01:00
schemas make get_reference public (#7515) 2022-06-06 13:44:02 +01:00
static/rest_framework fix comments by using correct css comment syntax (#8019) 2021-06-07 10:30:23 +01:00
templates/rest_framework Revert "made Browsable API base template cachable: omit CSRF token when unnecessary (#7717)" (#7847) 2021-03-17 13:24:55 +00:00
templatetags Made relative URLs clickable as well. (#8464) 2022-06-08 15:03:00 +01:00
utils Respect model error_messages for relation (#7599) 2022-06-06 13:53:42 +01:00
__init__.py Version 3.13.1 2021-12-15 15:18:24 +00:00
apps.py Make DEFAULT_PAGINATION_CLASS None by default. (#5170) 2017-09-25 15:36:30 +02:00
authentication.py #7157: Fix RemoteUserAuthentication calling django authenticate with request argument (#7158) 2021-09-03 14:37:03 +01:00
checks.py Fix punctuation in system check (#7281) 2020-04-20 16:40:05 -07:00
compat.py isort v5 (#7484) 2020-08-17 13:26:56 -07:00
decorators.py if else optimization (#8340) 2022-01-27 15:02:20 +00:00
documentation.py Updated url()'s with path() and re_path() (#7492) 2020-08-25 13:50:02 +02:00
exceptions.py Handle tuples same as lists in ValidationError detail context (#7647) 2021-01-06 13:13:34 +00:00
fields.py Don't evaluate default_timezone unless needed (#8531) 2022-06-24 11:28:00 +01:00
filters.py Ordering filter bug with model property serializer field (#7609) 2021-03-16 12:53:39 +00:00
generics.py Allow context to be provided to get_serializer (#7298) 2020-04-29 11:19:44 +01:00
metadata.py replace force_text with force_str 2019-08-07 21:05:24 +02:00
mixins.py Dropped Python 2 compatibility. (#6615) 2019-04-30 17:53:44 +02:00
negotiation.py Dropped Python 2 compatibility. (#6615) 2019-04-30 17:53:44 +02:00
pagination.py Fix CursorPagination parameter schema type (#7708) 2021-12-13 14:03:09 +00:00
parsers.py replace force_text with force_str 2019-08-07 21:05:24 +02:00
permissions.py Dropped Python 2 compatibility. (#6615) 2019-04-30 17:53:44 +02:00
relations.py Handle unset fields with 'many=True' (#7574) 2022-06-08 14:46:19 +01:00
renderers.py Update renderers.py 2022-02-01 09:42:43 +00:00
request.py Linting fixes (#7874) 2021-03-26 12:27:10 +00:00
response.py Remove unnecessary bytes() calls (#6626) 2019-05-30 15:05:27 -07:00
reverse.py Dropped Python 2 compatibility. (#6615) 2019-04-30 17:53:44 +02:00
routers.py Linting fixes (#7874) 2021-03-26 12:27:10 +00:00
serializers.py Add max_length and min_length options to ListSerializer (#8165) 2021-09-14 13:45:55 +01:00
settings.py Add note that APISettings is an internal class (#7144) 2020-01-15 10:52:29 +00:00
status.py Added http 102, 103, 421, and 425 status codes (#8350) 2022-02-03 11:57:47 +00:00
test.py Added test client support for HTTP 307 and 308 redirects (#8419) 2022-03-24 09:57:42 +00:00
throttling.py fix: change View class to Throttle class on SimpleRateThrottle Docstring (#8147) 2021-09-03 13:00:23 +01:00
urlpatterns.py Updated url()'s with path() and re_path() (#7492) 2020-08-25 13:50:02 +02:00
urls.py Replace all url() calls with path() or re_path() (#7512) 2020-09-08 15:32:27 +01:00
validators.py Make CharField prohibit surrogate characters (#7026) (#7067) 2020-01-06 14:12:21 +00:00
versioning.py Replace all url() calls with path() or re_path() (#7512) 2020-09-08 15:32:27 +01:00
views.py support multi db atomic_requests (#7739) 2021-03-03 11:15:39 +00:00
viewsets.py Check extra action func.__name__ (#7098) 2020-08-05 21:29:47 -07:00