diff --git a/docs/changelog.rst b/docs/changelog.rst index 545ce76d..4c5bf525 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,6 +2,10 @@ Changelog ========= +Changes in 0.6.15 +================= +- Deref list custom id fix + Changes in 0.6.14 ================= - Fixed error dict with nested validation diff --git a/mongoengine/queryset.py b/mongoengine/queryset.py index 04d46414..f94b7092 100644 --- a/mongoengine/queryset.py +++ b/mongoengine/queryset.py @@ -4,6 +4,8 @@ import copy import itertools import operator +from functools import partial + import pymongo from bson.code import Code @@ -1871,10 +1873,13 @@ class QuerySetManager(object): queryset_class = owner._meta['queryset_class'] or QuerySet queryset = queryset_class(owner, owner._get_collection()) if self.get_queryset: - if self.get_queryset.func_code.co_argcount == 1: + var_names = self.get_queryset.func_code.co_varnames + if var_names == ('queryset',): queryset = self.get_queryset(queryset) - else: + elif var_names == ('doc_cls', 'queryset',): queryset = self.get_queryset(owner, queryset) + else: + queryset = partial(self.get_queryset, owner, queryset) return queryset