最佳答案
在 Django 中,自定义管理器是组织可重用查询逻辑的一个很好的方法:
您可能需要定制
Manager
有两个原因: 添加额外的Manager
方法,和/或修改Manager
返回的初始QuerySet
。
但是,它继续描述也可以创建定制的 QuerySet
类,而且这些类可以作为管理器使用 QuerySet.as_manager()
从数据模型直接访问:
由
QuerySet.as_manager()
创建的Manager
实例实际上与前面示例中的PersonManager
完全相同。
在如何组织定制 Manager
和/或定制 QuerySet
类之间的逻辑方面,似乎有很大的灵活性。我应该根据什么原则来决定何时使用一种方法和另一种方法?