diff options
Diffstat (limited to 'rest_framework/utils/representation.py')
| -rw-r--r-- | rest_framework/utils/representation.py | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/rest_framework/utils/representation.py b/rest_framework/utils/representation.py index e64fdd22..2a7c4675 100644 --- a/rest_framework/utils/representation.py +++ b/rest_framework/utils/representation.py @@ -3,6 +3,8 @@ Helper functions for creating user-friendly representations  of serializer classes and serializer fields.  """  from django.db import models +from django.utils.functional import Promise +from rest_framework.compat import force_text  import re @@ -19,6 +21,9 @@ def smart_repr(value):      if isinstance(value, models.Manager):          return manager_repr(value) +    if isinstance(value, Promise) and value._delegate_text: +        value = force_text(value) +      value = repr(value)      # Representations like u'help text' @@ -77,6 +82,11 @@ def serializer_repr(serializer, indent, force_many=None):              ret += field_repr(field.child_relation, force_many=field.child_relation)          else:              ret += field_repr(field) + +    if serializer.validators: +        ret += '\n' + indent_str + 'class Meta:' +        ret += '\n' + indent_str + '    validators = ' + smart_repr(serializer.validators) +      return ret | 
