我最近了解到,当您特别想执行默认视图所不能做的事情时,应该重写get方法:
class ExampleView(generic.ListView):
template_name = 'ppm/ppm.html'
def get(self, request):
manager = request.GET.get('manager', None)
if manager:
profiles_set = EmployeeProfile.objects.filter(manager=manager)
else:
profiles_set = EmployeeProfile.objects.all()
context = {
'profiles_set': profiles_set,
'title': 'Employee Profiles'
}
这是很简单的,但是当我应该使用get_queryset
或get_context_data
过度get
?在我看来,他们基本上都在做同样的事情,还是我只是想念一些东西?我可以一起使用吗?这是我感到困惑的主要根源。
因此,我要重申一下:在什么情况下,我会使用overget_queryset
或get_context_data
反之?
get
,在这种情况下绝对不能覆盖。在这里,您只能压倒一切get_context_data
。