django如何为网页提取多个查询集

时间:2013-07-08 00:05:17

标签: django

我正在尝试从我的数据库中获取两个查询集,以便在我的朋友栏的网页中使用。现在我只有两种型号,酒精和饮料。我想从两个模型中提取所有对象并在同一页面中使用。有什么东西我可以添加到ListView或我需要为此创建自己的视图?我在itertools链上读过一些内容,但我不知道这是否能满足我的需求。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

一般来说,基于泛型类的视图最适合单个模型。话虽如此,您可以覆盖get_context_data并添加您想要的任何上下文。在你的情况下,让我们添加第二个查询集:

from .models import Alcohol, Drinks

class AlcoholListView(ListView):
    model = Alcohol

    def get_context_data(self, *args, **kwargs):
        context = super(AlcoholListView, self).get_context_data(*args, **kwargs)

        context['drinks'] = Drinks.objects.all()

        return context