From 0018c38b836af11260c7eee68957459b76cd0a95 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Wed, 1 Aug 2012 13:51:51 +0100 Subject: [PATCH] Fixed queryset manager issue (MongoEngine/mongoengine#52) --- docs/changelog.rst | 1 + mongoengine/queryset.py | 6 +++--- tests/test_queryset.py | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 2b52582e..f0adcbe5 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -5,6 +5,7 @@ Changelog Changes in 0.6.X ================ +- Fixed queryset manager issue (MongoEngine/mongoengine#52) - Fixed FileField comparision (hmarr/mongoengine#547) Changes in 0.6.18 diff --git a/mongoengine/queryset.py b/mongoengine/queryset.py index 0d1d95b7..15c768dd 100644 --- a/mongoengine/queryset.py +++ b/mongoengine/queryset.py @@ -1881,10 +1881,10 @@ class QuerySetManager(object): queryset_class = owner._meta['queryset_class'] or QuerySet queryset = queryset_class(owner, owner._get_collection()) if self.get_queryset: - var_names = self.get_queryset.func_code.co_varnames - if len(var_names) == 1: + arg_count = self.get_queryset.func_code.co_argcount + if arg_count == 1: queryset = self.get_queryset(queryset) - elif len(var_names) == 2: + elif arg_count == 2: queryset = self.get_queryset(owner, queryset) else: queryset = partial(self.get_queryset, owner, queryset) diff --git a/tests/test_queryset.py b/tests/test_queryset.py index e623790f..b4ae805b 100644 --- a/tests/test_queryset.py +++ b/tests/test_queryset.py @@ -2287,7 +2287,8 @@ class QuerySetTest(unittest.TestCase): @queryset_manager def objects(cls, qryset): - return qryset(deleted=False) + opts = {"deleted": False} + return qryset(**opts) @queryset_manager def music_posts(doc_cls, queryset, deleted=False):