我正在尝试从数据库中获取两个查询集,以便在我 friend 酒吧的网页中使用。现在我只有两个模型:酒精和饮料。我想从两个模型中提取所有对象并在同一页面中使用。我可以向 ListView 添加一些内容还是需要为此创建自己的 View ?我已经阅读了一些关于 itertools 链的内容,但我不知道这是否能满足我的需要。有什么建议吗?
最佳答案
一般来说,基于通用类的 View 最适合单个模型。话虽如此,您可以覆盖 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
关于django如何为网页提取多个查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517587/