我使用「OrderingFilter」允許排序。 根據Django文檔,不指定「ordering_fields」時,你可以通過在視圖中串行提到的任何字段順序。我有一個字段,它基本上是序列化程序中的@property字段。但是,試圖通過現場訂貨的時候,我得到以下錯誤:Django的排序方式屬性字段
Cannot resolve keyword 'spec_identifier' into field. Choices are:....
這是模型視圖的一部分:
class ItemViewSet(BaseViewMixin, MyModelView):
permission_classes = [MyItemViewPermissions]
serializer_class = ItemSerializer
filter_backends = (ItemFilter, OrderingFilter,)
,這是屬性定義我想訂購:
@property
def spec_identifier(self):
return self.spec.identifier if self.spec else None
是否有可能通過它來訂購?
我希望允許從客戶端查詢參數做到這一點 - 「?排序= spec_identifier」使用OrderingfFilter,同其他領域 – user2880391
你嘗試'?排序= spec__identifier'查詢字符串中雙下劃線? –