django - 有没有办法将多个模型添加到基于类的视图中?
问题描述
有没有办法将多个模型添加到基于类的视图中?!
这是我的详细视图。
class ArticleDetailView(DetailView):
model = Article
我想在我的视图中添加另一个模型。
我知道我可以使用基于函数的视图以便在我的视图中有多个模型。
但我想知道有什么办法可以用我的基于类的视图来做到这一点?
解决方案
是的,但您必须自己处理多余的模型。如果要在一个视图中显示两个单独模型的详细信息,则需要覆盖get_context_data
. 当然,您需要编写自定义方法来获取对象。
如果确定哪个模型是主模型不明确(意味着大部分视图围绕它旋转,而其他模型只是补充,例如:用户配置文件需要用户模型,并且可能需要其他模型,例如帖子或收藏的帖子等等,在这种情况下,主要模型是用户模型),您应该真正使用 TemplateView 自己处理所有这些,而不是 DetailView 或 ListView。
查看此站点,其中包含大量信息以了解类方法具有哪些方法以及如何覆盖它们。
推荐阅读
- python - SQLAlchemy:在 JSON 字段中按日期时间过滤
- python - 在实用程序函数中使用 Django request.session
- video-streaming - HTML5 视频无法在 IE11 或 Edge 中播放
- angular - 为 web 和 ionic 应用程序设置不同的“click_action”
- css - 如何在xamarin导航栏顶部制作两个按钮
- html - 在浏览器中将页面缩放到最小时出现文本问题
- entity-framework - Azure 移动应用和 Xamarin 尝试将 1:1 相关实体插入数据库
- javascript - 如何使用 JavaScript 上传到 CatBox?
- c - 指南针传感器没有给出正确的值
- javascript - NodeJs:错误 401(未经授权)我正在使用 passport-jwt