Allow passing models.Manager to RelatedField.queryset

This commit is contained in:
Venelin Stoykov 2015-07-09 15:01:52 +03:00
parent f33ca01511
commit 9196cddac3

View File

@ -5,6 +5,7 @@ from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
from django.core.urlresolvers import ( from django.core.urlresolvers import (
NoReverseMatch, Resolver404, get_script_prefix, resolve NoReverseMatch, Resolver404, get_script_prefix, resolve
) )
from django.db import models
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from django.utils import six from django.utils import six
from django.utils.encoding import smart_text from django.utils.encoding import smart_text
@ -87,7 +88,7 @@ class RelatedField(Field):
def get_queryset(self): def get_queryset(self):
queryset = self.queryset queryset = self.queryset
if isinstance(queryset, QuerySet): if isinstance(queryset, (QuerySet, models.Manager)):
# Ensure queryset is re-evaluated whenever used. # Ensure queryset is re-evaluated whenever used.
queryset = queryset.all() queryset = queryset.all()
return queryset return queryset