2013-05-07 18:43:47 -07:00
|
|
|
from vendor.haystack import indexes
|
|
|
|
from apps.rss_feeds.models import Feed
|
2013-07-02 18:26:57 -07:00
|
|
|
from django.conf import settings
|
2013-05-07 18:43:47 -07:00
|
|
|
|
|
|
|
class FeedIndex(indexes.SearchIndex, indexes.Indexable):
|
|
|
|
text = indexes.IntegerField(document=True, model_attr='pk')
|
|
|
|
num_subscribers = indexes.IntegerField(model_attr='num_subscribers')
|
|
|
|
address = indexes.EdgeNgramField(model_attr='feed_address')
|
|
|
|
title = indexes.EdgeNgramField(model_attr='feed_title')
|
|
|
|
|
|
|
|
def get_model(self):
|
|
|
|
return Feed
|
|
|
|
|
|
|
|
def index_queryset(self, using=None):
|
|
|
|
"""Used when the entire index for model is updated."""
|
2013-07-02 18:26:57 -07:00
|
|
|
sub_count = 1 if settings.DEBUG else 10
|
|
|
|
return Feed.objects.filter(num_subscribers__gte=sub_count, branch_from_feed__isnull=True)
|