From ec5ddbf391dca46b70cd69bd96bed23419ed3352 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Mon, 14 May 2012 12:06:25 +0100 Subject: [PATCH] Fixed sparse indexes with inheritance fixes hmarr/mongoengine#497 --- docs/changelog.rst | 1 + mongoengine/queryset.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 44ae826e..0843a35c 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -4,6 +4,7 @@ Changelog Changes in 0.6.9 ================ +- Fixed sparse indexes on inherited docs - Removed FileField auto deletion, needs more work maybe 0.7 Changes in 0.6.8 diff --git a/mongoengine/queryset.py b/mongoengine/queryset.py index 6d8cc7a5..a535553f 100644 --- a/mongoengine/queryset.py +++ b/mongoengine/queryset.py @@ -512,6 +512,10 @@ class QuerySet(object): key = '.'.join(parts) index_list.append((key, direction)) + # If sparse - dont include types + if spec.get('sparse', False): + use_types = False + # Check if a list field is being used, don't use _types if it is if use_types and not all(f._index_with_types for f in fields): use_types = False