当我更新一条记录时,django的订购结果发生了变化

时间:2020-09-16 06:11:01

标签: django postgresql django-rest-framework

我使用了postgresql和rest_framework.filters.OrderingFilter库

在我的视野中:

...

serializer_class = myModelSerializer

querset = myModel.objects.all().order_by('-id')

filter_backends = (DjangoFilterBackend, OrderingFilter)

ordering_fields = ('fields1', 'fields2')

例如:我按fields 2 desc有五个记录排序:

  • record3
  • record2
  • record1
  • record4
  • record5

当我更新record2fields3并仍按desc字段排序时,排序结果发生了变化:

  • record2
  • record1
  • record3
  • record4
  • record5

为什么会这样?

顺便说一句:mysql上没有发生此问题

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题

class C : public A, public B {
public:
    ...
    virtual void l() = 0;
};

只需在ordering_list中附加默认排序字段(“ id”或“ create_time”)

filter_backends = (DjangoFilterBackend, MyOrderingFilter)