2

嗨,我正在使用 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())
4

1 回答 1

2

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

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

在模板中:

{{ foo.foofk.count }}
于 2012-05-16T19:17:55.917 回答