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.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/rest_framework/utils/representation.py b/rest_framework/utils/representation.py
index 1a4d1a62..71db1886 100644
--- a/rest_framework/utils/representation.py
+++ b/rest_framework/utils/representation.py
@@ -2,10 +2,23 @@
Helper functions for creating user-friendly representations
of serializer classes and serializer fields.
"""
+from django.db import models
import re
+def manager_repr(value):
+ model = value.model
+ opts = model._meta
+ for _, name, manager in opts.concrete_managers + opts.abstract_managers:
+ if manager == value:
+ return '%s.%s.all()' % (model._meta.object_name, name)
+ return repr(value)
+
+
def smart_repr(value):
+ if isinstance(value, models.Manager):
+ return manager_repr(value)
+
value = repr(value)
# Representations like u'help text'