我正在使用带有弹性搜索的haystack。我使用rebuild_index命令构建索引数据。但是当我试图搜索对象时,它给了我以下错误:
“在SearchResult的数据库中找不到对象”(pk = u'118')>'。“
我在数据库中进行了双重检查,没有删除任何记录。但我仍然遇到这个错误。
任何人都可以帮忙吗?
感谢。
答案 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相同的错误消息,并且重建索引解决了我的问题。