按模板中的数字分组Queryset

时间:2014-06-19 11:12:49

标签: django

我遇到了一个问题,我在视图中显示模型中的所有对象。但是,我有空间只能一次显示3个。所以我想使用滑动框架(Bootstrap Carousel)来显示超过3个。

我已经找到了2个解决方案。

1:我创建了一个通过ajax调用的视图,该视图使用start_id加载后续对象,该start_id显示模型中的3个对象,从对象的主键开始为 def dynamic_banners(request): start = request.GET['start_id'] banner1 = Sample.objects.filter(id__exact=start) banner2 = Sample.objects.filter(id__exact=start+1) banner3 = Sample.objects.filter(id__exact=start+2) return render_to_response('template.html',{'banner1':banner1, 'banner2':banner2, 'banner3':banner3}, RequestContext(request)) 。 这些方面的东西。

{{1}}

但我不确定这是否优雅,或者就此而言,是一个正确的解决方案。

2:另一种解决方案是立即将所有对象发送到视图,然后在模板中将它们拆分。这里的问题是,我无法找到一种方法来做到这一点。

我希望这个问题看起来很连贯。 否则,您可以随时查看应用here并查看特色服务提供商'我当前只能显示3但需要以滑动框架的方式显示所有内容。

1 个答案:

答案 0 :(得分:0)

def dynamic_banners(request):
    start = request.GET['start_id']
    banners = Sample.objects.filter(id__gte=start).order_by('id')[:3]
    return render_to_response('template.html',{'banners':banners}, RequestContext(request))