Django,哪个函数属于QuerySet和Manager?

时间:2016-05-15 15:09:40

标签: django django-queryset django-managers

我以前认为QuerySet方法返回QuerySet实例,但显然不是。

例如,count()是一个查询集方法而不是经理的

如何确定哪些函数转到自定义QuerySet以及哪些函数转到自定义Manager类?

1 个答案:

答案 0 :(得分:1)

能够在管理器查询集上访问某些功能(如count())是有意义的。这允许你这样做:

Blog.objects.count()  # total number of blogs
Blog.objects.filter(status='PUBLISHED').count()  # Number of published blogs

Django有一个方法as_manager,允许您从自定义查询集创建管理器。这意味着您不必在管理器和查询集上复制方法。