Force-evaluate querysets (see #2602) · encode/django-rest-framework@86c5fa2 (original) (raw)
`@@ -13,6 +13,7 @@
`
13
13
`from future import unicode_literals
`
14
14
`from django.db import models
`
15
15
`from django.db.models.fields import FieldDoesNotExist, Field as DjangoModelField
`
``
16
`+
from django.db.models import query
`
16
17
`from django.utils.translation import ugettext_lazy as _
`
17
18
`from rest_framework.compat import postgres_fields, unicode_to_repr
`
18
19
`from rest_framework.utils import model_meta
`
`@@ -562,7 +563,7 @@ def to_representation(self, data):
`
562
563
` """
`
563
564
`# Dealing with nested relationships, data can be a Manager,
`
564
565
`# so, first get a queryset from the Manager if needed
`
565
``
`-
iterable = data.all() if isinstance(data, models.Manager) else data
`
``
566
`+
iterable = data.all() if isinstance(data, (models.Manager, query.QuerySet)) else data
`
566
567
`return [
`
567
568
`self.child.to_representation(item) for item in iterable
`
568
569
` ]
`