【发布时间】:2021-05-26 16:07:16
【问题描述】:
这两段代码完全相同
class PostDetail(generic.DetailView):
model = models.Post
def get_queryset(self):
queryset = super().get_queryset()
return queryset.filter(.........)
和
class PostDetail(generic.DetailView):
model = models.Post
def get_queryset(self):
return post.filter(.........)
queryset = super().get_queryset() 这条线实际上是做什么的?如果没有这条线会发生什么?
【问题讨论】:
-
super().get_queryset()调用其父类的get_queryset()方法,如果有多个父类则遵循MRO来确定调用哪个类方法。 -
以及如果没有这行会发生什么->函数
get_queryset()不会从父类继承,只会执行新写的函数 -
@VishalSingh 其父类的
get_queryset()将返回什么
标签: django django-rest-framework django-views django-queryset