具有弹性搜索的 Django Haystack 在数据存在时返回空查询集

Django Haystack with elasticsearch returning empty queryset while data exists

我正在 Python 中做一个项目,django rest 框架。我正在使用 haystack 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 模型中有数据时获取空查​​询集的原因,请帮助我的朋友。

我的问题现在已经解决了。问题是我用大写字母写了应用程序名称,而数据库表是用小写字母制作的(myapp_Student)。所以它在数据库查找中造成了问题。

您应该检查应用名称是否大小写sensitive.try 以小写字母书写应用名称