dont use $in for _cls queries with a single subclass

This commit is contained in:
Stefan Wojcik
2013-06-04 15:32:23 -07:00
parent 74a3fd7596
commit eba81e368b
2 changed files with 32 additions and 1 deletions

View File

@@ -71,7 +71,10 @@ class QuerySet(object):
# If inheritance is allowed, only return instances and instances of
# subclasses of the class being used
if document._meta.get('allow_inheritance') is True:
self._initial_query = {"_cls": {"$in": self._document._subclasses}}
if len(self._document._subclasses) == 1:
self._initial_query = {"_cls": self._document._subclasses[0]}
else:
self._initial_query = {"_cls": {"$in": self._document._subclasses}}
self._loaded_fields = QueryFieldList(always_include=['_cls'])
self._cursor_obj = None
self._limit = None