在一本过时的django里看到一段代码:
class PublishedManager(models.Manager):
def get_queryset(self):
return super(PublishedManager, self).get_queryset().filter(status='published')
心想这写的这是啥啊,难道是递归?太复杂了!
认真学习之后才知道,super有两个参数,第一个是必要参数,类型是一个类(type),第二个是可选参数,类型是一个第一个参数的子类或者子类的实例。第二个参数的作用,是为第一个参数提供 MRO 。官方文档是这样的:
在python3中,在直接按自身mro调用父类方法的时候,可以不写参数。
标签:get,子类,self,queryset,参数,super From: https://www.cnblogs.com/etfolinbase/p/18174796