django-haystack - Django Haystack 返回相关实例

标签 django-haystack

嗨,我正在使用 django 进行干草堆搜索。我有一个事件模型。这就是我正在搜索的模型。我有第二个模型来计算事件的点击/观看次数。除了搜索结果之外,我不想返回每个事件的点击次数。

我的观点:

def event_search(request):
    if request.method == 'POST':
        query = str(request.POST['search'])
        events = SearchQuerySet().auto_query(query).models(Event).order_by('date')
        return render_to_response('event_search.html', {"events": events}, context_instance=RequestContext(request))
    else:
        return render_to_response('event_search.html', context_instance=RequestContext(request))

我的模型:

class Event(models.Model):
   name = models.CharField(max_length = 70)
   date = models.DateTimeField()
   description = models.TextField()
   active = models.BooleanField(default=True, editable=False)
   featured = models.BooleanField(default=False)

class EventHitcount(models.Model):
   hit = models.ForeignKey(Event)
   ip = models.CharField(max_length=40)
   session = models.CharField(max_length=40)
   created = models.DateTimeField(default=datetime.datetime.now())

最佳答案

通过为ForeignKey字段指定一个相关名称,它可以调用并计算相关对象。

class Foo(models.Model):
    fk = models.ForeignKey(Event,related_name='foofk')
    some more fields...

在模板中:

{{ foo.foofk.count }}

关于django-haystack - Django Haystack 返回相关实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523766/

相关文章:

elasticsearch - 带有 Elasticsearch 的 Django haystack,索引问题

python - django-haystack SearchView 没有 as_view()

java - Solr - 让 Java 运行时遇到问题

django - 查询 ElasticSearch 以将空字符串排在最后

python - 错误 : The 'elasticsearch' backend requires the installation of 'requests' . 如何修复?

django - Django Haystack 搜索中没有结果

python - 安装 django-haystack

django - haystack - 如何使用外键显示来自多个模型的数据?

django-haystack - Django Haystack - 如何按时间戳排序?

python - Django Haystack - 如何通过 bool 字段过滤搜索结果?