【问题标题】:Django Haystack with elasticsearch returning empty queryset while data exists带有elasticsearch的Django Haystack在数据存在时返回空查询集
【发布时间】:2015-06-02 09:45:44
【问题描述】:

我正在用 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 模型中有数据时得到空查询集的原因,请帮助我。

【问题讨论】:

    标签: searchqueryset


    【解决方案1】:

    你应该检查应用名称是否区分大小写。尝试用小写字母写应用名称

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-12-13
        • 1970-01-01
        • 1970-01-01
        • 2021-06-02
        • 1970-01-01
        • 2015-09-21
        • 1970-01-01
        • 2022-01-05
        • 2021-11-30
        相关资源
        最近更新 更多