Django 什么时候在视图中应用 order_by?

Django when is order_by applied in the view?

我正在使用 Django ModelViewSet。如果我在 url 中传递 ?ordering=some-field,它何时应用于我的 Django 级别的查询集?我需要在那里捕捉一些特定的行为。

filter_queryset方法中,调用filter_backends列表中的每个过滤器后端,并将查询集传递给它。我假设您使用的是过滤器后端 DRF OrderingFilter。这就是它被调用和查询集被排序的地方。

您可以检查 OrderingFilter class 以了解如何 modify/override 行为