1
私はDjangoRestApiを使用していますが、queryset(ormベース)ビューの魅力のように働いていますが、私は同じバックグラウンドで同じ方法で動作するビューを作成するのに苦労しています。ベースのビューがあります。特にフィルタを追加して、自動的にキャストして検証するようにしたいと思います。django-rest-framework非ormベースのフィルタリング
以下の疑似コード:
class NewsFilter(django_filters.FilterSet):
category = django_filters.NumberFilter(name='category')
limit = django_filters.NumberFilter(name='limit')
page = django_filters.NumberFilter(name='page')
class NewsView(generics.APIView):
filter_class = NewsFilter
def get(self, request):
filters = self.filter_class(??) # not sure, what to put here
payload = logic.get_business_news(**filters.data) # same
return Response(payload, status=status.HTTP_200_OK)
問題に取り組むためにどのように任意のヒントが理解されるであろう。されているURLに何か
- ユーザーの種類や、POST、ジャンゴ・休息を傍受関連する値を経由して送信し、それらを抽出し、正しい型にそれらをキャストし、辞書として
- フィルタを返す:
究極の目標は、にありますそれらはシリアライザをORM基づいていたかのように表示
私はこの答えがa)非常に不完全であり、b)私の質問に答えることができないこの感覚を持っているので、私が探しているものを明確にするためにオリジナルの質問をわずかに編集しました – Drachenfels
基本的に 'FilterSet'はクエリーセットで動作します。フィルタリングしているクエリセットがありますか?そうでなければ、 'FilterSet'を使うことはできません。 –
私はORMを使用しないのでクエリーセットで作業したくありません。開発者や他の非専門家が手動でAPIを使ってテスト/作業できるように、/ api/endpointにフォームをレンダリングしますjsonのペイロードなどを入力します。私はdjango-rest-frameworkが実際には非常に限られたフレームワークであり、ワークフローは1つしか考えていないことを理解し始めました。 :/ – Drachenfels