Commit bed3c451 by Tom Christie

Merge pull request #3288 from thedrow/feature/cached-field-root-and-context

Cached the field's root and context property
parents 1b53e804 79200580
...@@ -17,6 +17,7 @@ from django.forms import ImageField as DjangoImageField ...@@ -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): ...@@ -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): ...@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment