2013-09-28 5 views
3

Я пытаюсь установить haystack, но у меня есть некоторые ошибки с самого начала. я следующее сообщение об ошибке при попытке открыть URL поиска:SearchFieldError Django and Haystack

All 'SearchIndex' classes must use the same 'text' fieldname for the 'document=True' field. Offending index is '<subtitrari.search_indexes.PictureIndex object at 0x7f3a6819be20>'. 

Любого понятие о том, как сделать это работает?

спасибо.

Вот мой код:

models.py

class Picture(models.Model): 
    imdb_id = models.CharField(max_length=9, blank=True) 
    title = models.CharField(max_length=50) 
    tv_show = models.BooleanField(default=False) 
    genre = TaggableManager(verbose_name=u'Genres') 
    poster = models.ImageField(upload_to=poster_path, blank=True, null=True) 
    rating = models.FloatField(max_length=3, null=True, blank=True) 
    votes = models.IntegerField(null=True,blank=True) 
    release_date = models.CharField(max_length=4, null=True, blank=True) 
    plot = models.CharField(max_length=100, null=True, blank=True) 
    url = models.URLField(null=True, blank=True) 
    trailer = models.URLField(null=True, blank=True) 
    slug = models.SlugField(null=True, blank=True) 

    @property 
    def domain(self): 
     return urlparse(self.url).netloc 

    def natural_key(self): 
     return self.title 

    def __unicode__ (self): 
     return self.title 

search_indexes.py

import datetime 

from haystack import indexes 

from subtitrari.models import Picture 

class PictureIndex(indexes.SearchIndex, indexes.Indexable): 
    title = indexes.CharField(document=True, use_template=True) 
    uploader = indexes.CharField(model_attr='uploader') 
    created_at = indexes.DateTimeField(model_attr='created_at') 

    def get_model(self): 
     return Picture 

    def index_queryset(self, using=None): 
     """Used when the entire index for model is updated.""" 
     return self.get_model().objects.filter(created_at__lte=datetime.datetime.now()) 

ответ

4

Следуйте учебник, не изменить имя поля документа в title, оставить его как text.

+0

большой! Благодаря :) – jabez

Смежные вопросы