最佳答案
我最近了解到,当您特别希望执行默认视图之外的操作时,应该重写 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
?在我看来,他们似乎基本上做同样的事情,或者我只是错过了什么?我能一起用吗?对我来说,这是一个主要的困惑来源。
因此重申一下: 在什么情况下我会使用 get over get_queryset
或 get_context_data
,反之亦然?