mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-22 09:36:49 +03:00
Merge pull request #3288 from thedrow/feature/cached-field-root-and-context
Cached the field's root and context property
This commit is contained in:
commit
bed3c45161
|
@ -17,6 +17,7 @@ from django.forms import ImageField as DjangoImageField
|
||||||
from django.utils import six, timezone
|
from django.utils import six, timezone
|
||||||
from django.utils.dateparse import parse_date, parse_datetime, parse_time
|
from django.utils.dateparse import parse_date, parse_datetime, parse_time
|
||||||
from django.utils.encoding import is_protected_type, smart_text
|
from django.utils.encoding import is_protected_type, smart_text
|
||||||
|
from django.utils.functional import cached_property
|
||||||
from django.utils.ipv6 import clean_ipv6_address
|
from django.utils.ipv6 import clean_ipv6_address
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
@ -522,7 +523,7 @@ class Field(object):
|
||||||
message_string = msg.format(**kwargs)
|
message_string = msg.format(**kwargs)
|
||||||
raise ValidationError(message_string)
|
raise ValidationError(message_string)
|
||||||
|
|
||||||
@property
|
@cached_property
|
||||||
def root(self):
|
def root(self):
|
||||||
"""
|
"""
|
||||||
Returns the top-level serializer for this field.
|
Returns the top-level serializer for this field.
|
||||||
|
@ -532,7 +533,7 @@ class Field(object):
|
||||||
root = root.parent
|
root = root.parent
|
||||||
return root
|
return root
|
||||||
|
|
||||||
@property
|
@cached_property
|
||||||
def context(self):
|
def context(self):
|
||||||
"""
|
"""
|
||||||
Returns the context as passed to the root serializer on initialization.
|
Returns the context as passed to the root serializer on initialization.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user