在SearchResult django haystack的数据库中找不到对象

时间:2014-05-09 17:17:25

标签: django elasticsearch full-text-search django-haystack

我正在使用带有弹性搜索的haystack。我使用rebuild_index命令构建索引数据。但是当我试图搜索对象时,它给了我以下错误:

“在SearchResult的数据库中找不到对象”(pk = u'118')>'。“

我在数据库中进行了双重检查,没有删除任何记录。但我仍然遇到这个错误。

任何人都可以帮忙吗?

感谢。

3 个答案:

答案 0 :(得分:2)

回答它以将其标记为已解决。

这是数据库配置问题。我为不同的环境设置了不同的设置文件,并且两个文件中的数据库配置都不匹配。

答案 1 :(得分:1)

看起来您正在搜索pk作为字符串而不是整数,不确定您的查询是什么样的。

为整数,在定义pk_int时没有引号:

pk_int = 118 
Model.objects.get(pk = pk_int)

如果包含pk的变量已经是一个字符串,请使用int():

pk_string = '118'
Model.objects.get(pk = int(pk_string))

答案 2 :(得分:0)

对于来自网络搜索引擎的任何人,如果接受的答案对您不起作用,您还可以尝试重建索引:

./manage.py rebuild_index

我有与OP相同的错误消息,并且重建索引解决了我的问题。