aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/utils/representation.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/utils/representation.py')
-rw-r--r--rest_framework/utils/representation.py10
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