【发布时间】:2016-04-30 03:37:43
【问题描述】:
我最近了解到,当您特别想要执行默认视图以外的操作时,您应该重写 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,反之亦然?
【问题讨论】:
-
相反;你应该很少覆盖
get,当然在这种情况下也不应该。在这里你应该只覆盖get_context_data。