import datetime
from cms.models import Page
from haystack.indexes import *
from haystack import site
class PageIndex(SearchIndex):
text = CharField(document=True, use_template=True, model_attr='text')
title = CharField(model_attr='get_page_title')
get_slug = CharField(model_attr='get_slug')
def prepare_text(self,obj):
renderedplugins = ""
for i in obj.cmsplugin_set.all():
renderedplugins += i.render_plugin(context={})
return renderedplugins
def get_queryset(self):
return Page.objects.filter(publication_date__lte=datetime.datetime.now(), published=True)
site.register(Page, PageIndex)