Python 将django-haystack与django rest框架集成在一起

Python 将django-haystack与django rest框架集成在一起,python,django,solr,django-rest-framework,django-haystack,Python,Django,Solr,Django Rest Framework,Django Haystack,我正在尝试设置solr搜索引擎和django drf。 我正在使用drf_haystack来实现这个目的。 我正在使用solr-tomcat6。但是我被卡住了,不知道哪里出了问题。每当我通过get调用执行搜索时,django rest框架页面都没有响应。 我已经完成了本教程中提到的solr的所有设置- 在从中获取模式后,我还将模式放在conf文件夹中 python manage.py build_solr_schema 至于tomacat6,默认端口是8080 my settings.py-

我正在尝试设置solr搜索引擎和django drf。 我正在使用drf_haystack来实现这个目的。 我正在使用solr-tomcat6。但是我被卡住了,不知道哪里出了问题。每当我通过get调用执行搜索时,django rest框架页面都没有响应。 我已经完成了本教程中提到的solr的所有设置- 在从中获取模式后,我还将模式放在conf文件夹中

python manage.py build_solr_schema
至于tomacat6,默认端口是8080 my settings.py-

    HAYSTACK_CONNECTIONS = {
    'default': {
    'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
    'URL': 'http://localhost:8080/solr'
     },
     }
My models.py很简单,标题是主键,测试是模型-

    class Test(models.Model):
        title = models.TextField(blank=True, primary_key=True)
        url = models.TextField(blank=True, null=True)
        price = models.TextField(blank=True, null=True)
        brief = models.TextField(blank=True, null=True)

        def __unicode__(self):
            return self.title

        class Meta:
            db_table = 'test'
我不熟悉使用solr。我的index.py中可能有错误,我在这里展示了-

    class TestIndex(indexes.SearchIndex, indexes.Indexable):
        text = indexes.CharField(document=True, use_template=True)
        title = indexes.CharField(model_attr='title')
        url = indexes.CharField(model_attr='url')
        price = indexes.CharField(model_attr='price')

        def get_model(self):
            return Test

       def index_queryset(self, using=None):
            return self.get_model().objects.all()
我已经在视图中包含了序列化程序-

    class TestSerializer(HaystackSerializer):
        class Meta:
            index_classes = [TestIndex]

        fields = [
            "title","url","price","brief"
         ]


    class SearchView(HaystackViewSet):
        index_models = [Test]
        serializer_class = TestSerializer
最后,我的url.py如下所示:

    router = routers.DefaultRouter()
    router.register("item/search", SearchView, base_name="item-search")

    urlpatterns = [
      url(r'^admin/', admin.site.urls),
      url(r"api/", include(router.urls))
     ]
我通过在url中输入以下内容来执行搜索:


这是一个空字典。请帮我解决我的问题,也许有一个愚蠢的错误。

我得到了解决方案。我用的是django 1.9,当我降级到django 1.8时,它工作了。我得到了解决方案。我用的是django 1.9,当我降级到django 1.8时,它工作了。