【问题标题】:Is there a way to add more than one model to a class based view?有没有办法将多个模型添加到基于类的视图中?
【发布时间】:2020-01-11 20:00:50
【问题描述】:

有没有办法将多个模型添加到基于类的视图中?!

这是我的详细视图。

class ArticleDetailView(DetailView):
    model = Article

我想在我的视图中添加另一个模型。

我知道我可以使用基于函数的视图以便在我的视图中拥有多个模型。

但我想知道有什么方法可以用我的基于类的视图来做到这一点?

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

    是的,但您必须自己处理多余的模型。如果您想在一个视图中显示两个单独模型的详细信息,则需要覆盖 get_context_data。当然,您需要编写自定义方法来获取对象。

    如果不确定哪个模型是主模型(意味着大部分视图围绕它旋转,而其他模型只是补充,例如:用户配置文件需要用户模型,并且可能需要其他模型,例如帖子或喜欢的帖子等,在这种情况下,主要模型是用户模型),您应该真正使用 TemplateView 自己处理所有这些,而不是 DetailView 或 ListView。

    Check out this site,其中包含大量信息,可以查看类方法具有哪些方法以及如何覆盖它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      相关资源
      最近更新 更多