Django中的Haystack搜索只允许模板工作

时间:2016-05-10 07:04:47

标签: django django-haystack

我和Haystack合作。下面是我的模型和索引。

@python_2_unicode_compatible
class Record(models.Model):
   name = models.CharField(max_length=20, verbose_name="Hostname")
   address = models.CharField(max_length=50)

   def __str__(self):
      return self.name

我的索引如下:

class RecordIndex(indexes.SearchIndex, indexes.Indexable):
   text = indexes.EdgeNgramField(document=True, use_template=True)
   name = indexes.CharField(model_attr="name")

   def get_model(self):
      return Record

   def index_queryset(self, using=None):
      return self.get_model().objects.all()

然后我的模板文件是

{{ object.name }}
{{ object.address }}

然后我尝试使用像这样的SearchQueryAPI。

 SearchQuerySet().filter(name=record.name).models(Record)

但是这没有用。接下来,我试过了。

SearchQuerySet().filter(text=record.name).models(Record)

这很有用。谁能告诉我为什么?另外,想知道我是否不仅可以使用模板来完成这项工作吗?

0 个答案:

没有答案