无法将模型传递给上下文

Unable to pass model to context

我正在尝试将单个模型和具有相同 "document_title" 的模型列表传递到我的 ModelDetailView 模板。 views.py 部分的代码是

class DocumentDetailView(generic.DetailView):

    model = Document

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context["doc_list"] = Document.objects.filter(model.document_title).order_by('revision_number')
        return context

我曾尝试将模型传递给 get_context_data 方法,但这只会产生其他错误。我不确定我是否以正确的方式解决这个问题,但任何想法都会有很大帮助。

编辑:我修复了代码片段的缩进。

详细视图的对象可访问为 self.object

context["doc_list"] = Document.objects.filter(document_title=self.object.document_title).order_by('revision_number')

您没有正确使用过滤器。您需要做的是:

context["doc_list"] = Document.objects.filter(document_title=self.object.document_title).order_by('revision_number')

正如其他人所说,您在第 5 行的过滤器不正确。 此外,根据您的 Django 版本,DetailView.get_context_data 将有问题的详细信息项作为 object 传递,您应该在过滤器中使用它。

最后,您的缩进似乎不正确,但这可能很糟糕 copy/paste。

class DocumentDetailView(generic.DetailView):

  model = Document

  def get_context_data(self, object, **kwargs):
    context = super().get_context_data(object, **kwargs)
    context["doc_list"] = Document.objects.filter(document_title=object.document_title).order_by('revision_number')
    return context