无法将模型传递给上下文
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
我正在尝试将单个模型和具有相同 "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