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

标签 django

我正在尝试从数据库中获取两个查询集,以便在我 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/

相关文章:

python - tuple'对象没有属性 'get'

python - 如何将 "lang"属性添加到 python-markdown 中的 <pre> 标记?

django - 如何仅允许来自特定电子邮件域的注册,例如 django 中的 'gmail'?

django - 如何在 Django 中将 pdf 作为电子邮件附件发送

django - 如何设置 uWSGI vassal 名称以获得更好的日志引用?

django - 我应该在 Django 中对 manage.py 进行版本控制吗?

django - mod_wsgi apache2 加载失败

javascript - 用 jQuery 替换 Django 中的图像

django - 在 Django 模板中导入 Web 组件的推荐方法?

django - Pycharm (Django) 仅在第一个请求时停止在断点上