我想更改django rest框架过滤器的默认模型管理器,我似乎无法找到一种方法。我的默认模型管理器objects
排除了一些记录,我创建了objects_all
来获取所有记录。过滤器似乎使用Model.objects
而不是objects_all
,有没有办法让我可以使用objects_all
来进行过滤。
import rest_framework_filters as filters
ItemFilter(filters.FilterSet):
name = filters.AllLookupsFilter()
some_id = filters.NumberFilter(name="some_name")
class Meta:
model = Item
class myModel(models.Model):
objects_all = models.Manager() # Rename the default model manager
objects = ObjectsWithNoStateManager()
objects_deleted = ObjectsDeletedManager()
objects_archived = ObjectsArchivedManager()
答案 0 :(得分:0)
您似乎需要在ModelManager中添加额外的过滤器。为什么不在单个ModelManager中添加额外过滤器的方法,而不是为每个过滤器创建单独的管理器。
以下是示例https://docs.djangoproject.com/en/1.9/topics/db/managers/#adding-extra-manager-methods