mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 08:59:54 +03:00
Bug fix when use custom manager from BaseManager
This change fix a bug when a custom manager is created inheriting from `django.db.models.manager.BaseManager` instead of `django.db.models.Manager`. My manager was created as follow: ```python from django.db.models import QuerySet from django.db.models.manager import BaseManager class ModelQuerySet(QuerySet): def custom_filter(self, *args, **kwargs): return # ... class ModelManager(BaseManager.from_queryset(ModelQuerySet)): pass ```
This commit is contained in:
parent
165da5be0c
commit
c728ba5a22
|
@ -3,7 +3,7 @@ from collections import OrderedDict
|
||||||
from urllib import parse
|
from urllib import parse
|
||||||
|
|
||||||
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
|
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
|
||||||
from django.db.models import Manager
|
from django.db.models.manager import BaseManager
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from django.urls import NoReverseMatch, Resolver404, get_script_prefix, resolve
|
from django.urls import NoReverseMatch, Resolver404, get_script_prefix, resolve
|
||||||
from django.utils.encoding import smart_str, uri_to_iri
|
from django.utils.encoding import smart_str, uri_to_iri
|
||||||
|
@ -154,7 +154,7 @@ class RelatedField(Field):
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = self.queryset
|
queryset = self.queryset
|
||||||
if isinstance(queryset, (QuerySet, Manager)):
|
if isinstance(queryset, (QuerySet, BaseManager)):
|
||||||
# Ensure queryset is re-evaluated whenever used.
|
# Ensure queryset is re-evaluated whenever used.
|
||||||
# Note that actually a `Manager` class may also be used as the
|
# Note that actually a `Manager` class may also be used as the
|
||||||
# queryset argument. This occurs on ModelSerializer fields,
|
# queryset argument. This occurs on ModelSerializer fields,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user