v1.53.4 prefetch in indexes V01.53.04
authorcavaliet
Fri, 25 Apr 2014 12:21:10 +0200
changeset 1304 e72664657829
parent 1303 b9621d9f059d
child 1305 c984acc5ede1
v1.53.4 prefetch in indexes
src/ldt/ldt/__init__.py
src/ldt/ldt/indexation/search_indexes.py
--- a/src/ldt/ldt/__init__.py	Wed Apr 23 14:50:55 2014 +0200
+++ b/src/ldt/ldt/__init__.py	Fri Apr 25 12:21:10 2014 +0200
@@ -1,6 +1,6 @@
 __all__ = ["VERSION", "get_version", "__version__"]
 
-VERSION = (1, 53, 3, "final", 0)
+VERSION = (1, 53, 4, "final", 0)
 
 
 def get_version():
--- a/src/ldt/ldt/indexation/search_indexes.py	Wed Apr 23 14:50:55 2014 +0200
+++ b/src/ldt/ldt/indexation/search_indexes.py	Fri Apr 25 12:21:10 2014 +0200
@@ -36,6 +36,10 @@
                 return ",".join(obj.tag_list)
         return ",".join([tag.name for tag in obj.tags.all()])
     
+    def index_queryset(self, using=None):
+        "Used when the entire index for model is updated."
+        return self.get_model().objects.prefetch_related("tags")
+    
     
 class AnnotationIndex(indexes.SearchIndex, indexes.Indexable):
     text = indexes.CharField(document=True, use_template=True)
@@ -50,6 +54,10 @@
     
     def prepare_tags(self, obj):
         return ",".join([tag.name for tag in obj.tags.all()])
+    
+    def index_queryset(self, using=None):
+        "Used when the entire index for model is updated."
+        return self.get_model().objects.prefetch_related("tags")
 
 
 class ContentIndex(indexes.SearchIndex, indexes.Indexable):
@@ -62,4 +70,8 @@
         return Content
     
     def prepare_tags(self, obj):
-        return ",".join([tag.name for tag in obj.tags.all()])
\ No newline at end of file
+        return ",".join([tag.name for tag in obj.tags.all()])
+    
+    def index_queryset(self, using=None):
+        "Used when the entire index for model is updated."
+        return self.get_model().objects.prefetch_related("tags")
\ No newline at end of file