Django Haystack通过Django Model PK搜索

时间:2013-08-16 15:28:50

标签: django django-haystack

是否有一个简单的钩子来查找Django模型PK的Haystack结果?像(这不起作用)

   SearchQuerySet().filter(pk=12)

另一种方法是我会为模型pk的SearchIndex添加一个显式字段,但这似乎很浪费,因为Haystack的查询集结果包含底层的django模型pk

2 个答案:

答案 0 :(得分:4)

以下为我工作:

SearchQuerySet().models(Product).filter(django_id='10229')

答案 1 :(得分:1)

在Haystack中你可能有很多不同的应用程序和模型,因此你必须明确地为haystack查询命名,因为内部Haystack会创建像app.model.pk这样的ID ... 例如。你可能有一个应用程序“目录”,你有一个模型“产品”,并希望筛选pk = 12:

SearchQuerySet().filter(pk='catalog.product.12') 

会做到这一点。