嗨,我正在使用 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/