gpt4 book ai didi

django - 如何在模型上使用 OrderingFilter 和其他 Filterset 过滤

转载 作者:行者123 更新时间:2023-12-01 08:26:27 27 4
gpt4 key购买 nike

我有一个模型可以说 ObservedMoves .在我的 View 中的许多查询中都引用了此模型。因此,不是直接在每个 View 中应用我想要的过滤器,而是将它们抽象到过滤器类中,让我们说 ObservedMovesFilters子类 django_filters.Filterset并有一个元字段 model = ObservedMoves .

现在我想做的是使用户能够在发出请求时指定排序字段。为此,我计划使用 DRF 的 OrderingFilter .如果我尝试子类化 OrderingFilter类而不是 Filterset类过滤器不起作用。如果我指定 OrderingFilter作为默认过滤器后端,过滤器不起作用。

在 DRF 的文档中,提出的唯一方法是在 View 中指定替代过滤器后端并指定排序参数,但我想避免在查询该模型的每个 View 中明确定义它。有没有办法做到这一点?

最佳答案

如果我理解正确,您就不必添加 filter_backends到每个 ViewSet就像另一个答案所说的那样。

您可以在 settings.py 中设置默认过滤器后端。像这样的文件:

REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': (
'rest_framework.filters.DjangoFilterBackend',
'rest_framework.filters.OrderingFilter',
)
}

关于django - 如何在模型上使用 OrderingFilter 和其他 Filterset 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653190/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com