問題タブ [django-rest-viewsets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
474 参照

python - django rest フレームワークでのモデルの複数のタイプの更新操作

以下は私のモデルです

以下は、このグループ モデルで可能なさまざまなタイプの操作です。

  • グループを作成
  • グループの更新
    1. グループの詳細を更新します。
    2. グループ メンバーの追加/削除
    3. 部外者に招待を送る
    4. 管理者にする/管理者を削除します。
      • グループを削除

作成/削除操作については明らかですが、更新できるものが複数あるため、更新操作については混乱しています。現在、上記のすべてのアクティビティを実行する Group クラスにヘルパー メソッドを追加しました。

私の質問は、DRF(Django Rest Framework) ModelViewSets とどのように統合できますか。update() メソッドは 1 つしかないため、上記の更新シナリオの 1 つだけを処理できます。他の更新シナリオをどのように処理できますか?(考えられる解決策の1つは、リクエストで操作タイプフラグを使用し、 update() メソッドでそれをチェックして、どのモデルメソッドを呼び出すかを決定することだと思いますが、それは少し単純な解決策です。 Django Rest Framework でこれを行う方法は?)

前もって感謝します。

0 投票する
0 に答える
231 参照

python - API ドキュメントのビューセットのカスタム コメント

私はdjango restフレームワークAPIアプリケーションを持っており、そのドキュメントを生成しています。ビューセットで api ビューを使用し、カスタム メソッドを使用しています。URLではルーターを使用しています。ドキュメントの生成には、DRF Docs を使用します。

私の見解:

URL:

私のAPIドキュメントの結果: ここに画像の説明を入力

set_password メソッドのカスタム コメントが必要で、このメソッドには他のシリアライザーを使用するため、さまざまなフィールドを表示します。どうやってやるの?

0 投票する
1 に答える
425 参照

python - 2つの値を持つ属性のDjangoフィルター、1つの結果を優先

変な質問ですので、よろしくお願いします。Django Rest に次のようなモデルがあります。

そして、指定された {request_barId, request_buzzId, lastUpdateDate} を持つすべての Foo のリストを返す必要がある ViewSet があります。これはかなり単純明快で、

これがこすりです。指定された budId がオーバーレイする必要がある基本リストである、buzzId のデフォルト値があり、基本リストのインスタンスを置き換えます。ちょっと迷ってるところです。私には解決策がありますが、特にエレガントではなく、このクリーナーを実行する方法があるように感じます。オーバーレイを行うための私のコードは次のとおりです。

そして、これは本当にぎくしゃくしているようです。これをきれいにする方法はありますか?

編集: 明確にするために、タプル { 1, 0, '01-01-1970' } のリストが基本セット (buzzId: 0) を表し、fizzIds { 1, 2, 3 を含むオブジェクトのリストを返すとしましょう、10}。タプル { 1, 1, '01-01-1970' } が、文字列の完全なセットに対する、buzzId のリクエストを表しているとしましょう。1 の bugId (augment と呼びます) に一致する Foos と fizzIds { 2, 10, 15, 20 } があるとすれば、結果セットは次のようになります。

これですっきりしますか?

0 投票する
1 に答える
661 参照

django-rest-framework - ルーターの「detail_route」に検索フィールドは必要ですか?

ここを見てください:http://www.django-rest-framework.org/api-guide/routers/#extra-link-and-actions例には次のものがありますpk=None

そして、次の URL パターンが生成されると述べています。^users/{pk}/set_password/$

こちら: http://www.django-rest-framework.org/api-guide/routers/#simplerouterまた、lookupフィールドが URL に含まれていることも示しています。{prefix}/{lookup}/{methodname}/

DRFはメソッドにlookup値を渡しますか? detail_routeドキュメントに基づいて、そうであるように見えますが、ここにあります: http://www.django-rest-framework.org/api-guide/routers/#example

下にスクロールすると、次のようになります。

関数の引数としてルックアップ値は要求されませんgroup_names。私の質問は次のとおりです。

1) pk/ にはルックアップ フィールド引数が必要detail_routeですか?

2) そうでない場合、self.get_object()取得するオブジェクトをどのように知ることができますか?

3) また、そうでない場合は@list_route、ルックアップが使用されていないため、代わりに使用しないでください。

編集: こちら: http://www.django-rest-framework.org/api-guide/viewsets/#marking-extra-actions-for-routingThe @detail_route decorator contains pk in its URL pattern and is intended for methods which require a single instance.