2

我正在用 Python 做一个项目,django rest 框架。我正在使用干草堆 SearchQuerySet。我的代码在这里。

from haystack import indexes
from Medications.models import Salt

class Salt_Index(indexes.SearchIndex, indexes.Indexable):

text = indexes.CharField(document=True, use_template=True)
name = indexes.CharField(model_attr='name',null=True)
slug = indexes.CharField(model_attr='slug',null=True)
if_i_forget = indexes.CharField(model_attr='if_i_forget',null=True)
other_information = indexes.CharField(model_attr='other_information',null=True)
precautions = indexes.CharField(model_attr='precautions',null=True)
special_dietary = indexes.CharField(model_attr='special_dietary',null=True)
brand = indexes.CharField(model_attr='brand',null=True)
why = indexes.CharField(model_attr='why',null=True)
storage_conditions = indexes.CharField(model_attr='storage_conditions',null=True)
side_effects = indexes.CharField(model_attr='side_effects',null=True)

def get_model(self):
    return Salt

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

我的views.py文件是-

from django.views.generic import View
from haystack.query import SearchQuerySet
from django.core import serializers

class Medication_Search_View(View):

def get(self,request,format=None):
    try:
        get_data = SearchQuerySet().all()
        print get_data 
        serialized = ss.serialize("json", [data.object for data in get_data])
        return HttpResponse(serialized)

    except Exception,e:
        print e

我的 python manage.py rebuild_index 工作正常(显示 'Indexing 2959 salts')但在我的 'views.py' 文件中,SearchQuerySet() 返回一个空查询集...

我对此非常担心。如果您知道在我的 Salt 模型中有数据时得到空查询集的原因,请帮助我。

4

2 回答 2

1

您应该检查应用程序名称是否区分大小写。尝试用小写字母编写应用程序名称

于 2016-04-29T09:33:40.670 回答
0

我的问题现在解决了。问题是我用大写字母编写了应用程序名称,并且数据库表是用小写字母(myapp_Student)制作的。所以它在数据库查找上产生了问题。

于 2015-07-28T09:14:34.650 回答