Python 如何在基于类的视图中使用上下文对象进行查询?
我试图理解基于类的视图,并且在变量方面有困难Python 如何在基于类的视图中使用上下文对象进行查询?,python,django,django-views,Python,Django,Django Views,我试图理解基于类的视图,并且在变量方面有困难 class TeacherView(generic.DetailView): model = Teacher context_object_name = 'the_object' template_name = urls['Teacher_detail'] # I declared an array and called urls to store template paths 我想使用模板中要使用的教师变量进行查询。 例
class TeacherView(generic.DetailView):
model = Teacher
context_object_name = 'the_object'
template_name = urls['Teacher_detail'] # I declared an array and called urls to store template paths
我想使用模板中要使用的教师变量进行查询。
例如:
并将此Homeworks数组传递给我的模板并使用
至少有人能告诉我具体检查什么吗?我对诸如get\u object、get\u context\u object等函数感到迷茫
提前感谢您可以在视图中定义函数:
class TeacherView(generic.DetailView):
model = Teacher
context_object_name = 'the_object'
template_name = urls['Teacher_detail']
def homeworks(self):
return Homeworks.objects.filter(Teacher=self.object)
您可以在视图中定义函数:
class TeacherView(generic.DetailView):
model = Teacher
context_object_name = 'the_object'
template_name = urls['Teacher_detail']
def homeworks(self):
return Homeworks.objects.filter(Teacher=self.object)
您可以通过覆盖上下文数据将作业查询集传递给视图,如下所示
class TeacherView(generic.DetailView):
model = Teacher
context_object_name = 'the_object'
template_name = urls['Teacher_detail']
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["homeworks"] = Homeworks.objects.filter(Teacher=self.object)
return context
您可以通过覆盖上下文数据将作业查询集传递给视图,如下所示
class TeacherView(generic.DetailView):
model = Teacher
context_object_name = 'the_object'
template_name = urls['Teacher_detail']
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["homeworks"] = Homeworks.objects.filter(Teacher=self.object)
return context
{% for homework in homeworks %}
{{ homework }}
{% endfor %}