我有一個模型可以說ObservedMoves
。我的視圖中的許多查詢都引用了此模型。因此,我沒有在每個視圖中直接應用我想要的濾鏡,而是將它們抽象到濾鏡類中,例如ObservedMovesFilters
,其子類django_filters.Filterset
並具有元字段model = ObservedMoves
。我如何使用OrderingFilter以及其他篩選器在模型上篩選
現在我想要做的是讓用戶在提出請求時指定排序字段。爲此,我打算使用DRF的OrderingFilter
。如果我嘗試繼承OrderingFilter
類而不是Filterset
類,則過濾器不起作用。如果我再次指定OrderingFilter
作爲默認的過濾器後端,則過濾器不起作用。
在DRF的文檔中,唯一給出的方法是在視圖內指定替代過濾器後端並指定排序參數,但是我希望避免在查詢該模型的每個視圖中明確定義它。有沒有辦法做到這一點?
因爲我還是要在每一個視圖或視圖集顯式地指定後端但至少它的工作原理這部分解決了這個問題。 – LetsPlayYahtzee
您可以對ModelViewSet(或其他)進行子類化,並添加一個「filter_backends」字段,該字段將作爲您的模型的默認字段。 –