我以前认为QuerySet方法返回QuerySet实例,但显然不是。
例如,count()是一个查询集方法而不是经理的
如何确定哪些函数转到自定义QuerySet以及哪些函数转到自定义Manager类?
答案 0 :(得分:1)
能够在管理器和查询集上访问某些功能(如count()
)是有意义的。这允许你这样做:
Blog.objects.count() # total number of blogs
Blog.objects.filter(status='PUBLISHED').count() # Number of published blogs
Django有一个方法as_manager
,允许您从自定义查询集创建管理器。这意味着您不必在管理器和查询集上复制方法。