Django Haystack返回相关实例

时间:2012-05-09 20:39:01

标签: django-haystack

嗨我正在使用django和haystack搜索。我有一个活动模型。那就是我正在进行搜索的模型。我有第二个模型来计算事件的命中/视图。我不想返回搜索结果之外的每个事件的点击次数。

我的观点:

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())

1 个答案:

答案 0 :(得分:2)

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

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

在模板中:

{{ foo.foofk.count }}