問題タブ [drf-nested-routers]

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 投票する
3 に答える
11953 参照

django - drf-nested-routers を使用した Django-rest-framework のネストされた URL

drf-nested-routersパッケージでネストされた API を構築しています。

ただし/domains/1/nameservers/、ドメイン#1に関連するネームサーバーだけでなく、私が持っているすべてのネームサーバーを提供します

問題は、デフォルトのチュートリアル NameServerViewSet 実装を使用していることだと思います

正しい方法でコーディングするのを手伝ってください。

以下は、drf-nested-routers github ページの例です。

drf-nested-routers は、以下の URL パターンを生成するネストされたルーターを提供します

\domain\ <- ドメイン リスト \domain{pk}\ <- {pk] からの 1 つのドメイン

\domain{domain_pk}\nameservers\ <- ドメインのネームサーバー

{domain_pk} \domain{domain_pk}\nameservers\ {pk}\ <- {pk} からの特定のネームサーバー、{domain_pk} からのドメインの

以下に例を示します。

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

python - drf ネストされたルーター - エンドポイントのルート サブルーチン

次のような URL を持つ古いエンドポイントがあります。

関数ベースのビューにマップされました。

現在、drf-nested-routers で動作するように作業をリファクタリングしています。私が知っているのは、カスタム メソッドにルーティングできるということです。以前のエンドポイントがあるときのように、次のようなurl(r'^vehicles/([^/]{1,50})/trips/?$', 'vehicle_trips_view')メソッドを追加するだけですtrips:

メソッド trips/data に名前を付けることは明らかにできません。最初の例の詳細なルートを作成する方法はありますか!?

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

python - DRF のシリアライザーの複数のルックアップ フィールドのカスタム ハイパーリンク URL フィールド

プロジェクトの Web API を開発するためにDjango Rest Frameworkを使用しています。私のプロジェクトのように、ネストされた API のエンドポイントを次のように構築する必要があります。

したがって、これらのネストされたリソースの作成と保守を容易にするために、drf-nested-routersを使用しています。

すべてのエンドポイントの出力に、ネストされた各リソースの詳細と次のような他の詳細を取得するためのハイパーリンクが必要です。

HyperlinkedModelSerializerこれを行うには、 DRF docs に従って継承によってシリアライザーを作成します。これにより、urlシリアライゼーション中に応答してフィールドが自動的に追加されます。

ただし、デフォルトでは、DRF シリアライザーは、上記のようにネストされたリソースの URL の生成をサポートしていません。または、複数のルックアップ フィールドを言うことができます。この状況に対処するために、彼らはカスタム ハイパーリンク フィールドを作成することを推奨しました。

このドキュメントに従い、ネストされたリソースの URL 生成を処理するためのカスタム コードを記述します。私のコードスニペットは次のとおりです。

models.py

serializers.py

serializers_fields.py

ビュー.py

urls.py

/users/さて、プロジェクトを実行してAPIエンドポイントにpingを実行したときにこれを行った後、次のエラーが発生しました:

AttributeError : 'UserMail' オブジェクトに属性 'url' がありません

UserMailSerializerこのシリアライザーの属性としてフィールドを追加したため、このエラーが発生した理由を理解できませんでした。そのため、モデルの属性としてフィールドをurl取る理由をシリアル化する必要があります。この問題から逃れるために私を助けてください。urlUserMail

PS:モデルのリファクタリングを提案しないでください。として、ここで私は自分のプロジェクトの本当のアイデアをuser&シングで偽装しmailました。したがって、これをテストケースとして、解決策を提案してください。

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

django - HyperlinkedRelatedField が drf-nested-routers で機能しない

以下のように drf-nested-routers を使用しています

urlシリアライザーにフィールドを追加するCalendarとうまくいきますが、url「イベント」シリアライザーにフィールドを追加すると、以下の例外が発生します

ビュー名「event-detail」を使用してハイパーリンク関係の URL を解決できませんでした。関連するモデルを API に含めていないか、lookup_fieldこのフィールドの属性が正しく構成されていない可能性があります。

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

django - Django REST Framework ネストされたルーター - ページネーションが機能しない

readme ページの例と同様に、drf-nested-routersを使用した単純なネストされたルーターがあります。DEFAULT_PAGINATION_CLASSネストされたルートのリスト ビューは、私の設定を無視して、まったく改ページされません。これは設計によるものですか?ネストされたルートは手動でページネーションを実装する必要がありますか? self.get_paginated_responseネストされたビューセットのlistメソッドを呼び出そうとすると、次のエラーが発生します。

ネストされたビューでの私のlist方法は次のとおりです。

0 投票する
2 に答える
442 参照

python - DRF + Nested-Routers - 「QuerySet」オブジェクトに属性「user」がありません

DRF および DRF ネスト ルーターの使用

これが私のコードです:

しかし、新しいメンバーが投稿されると、「QuerySet」オブジェクトには属性「ユーザー」がありませんというエラーが表示されます

何か助けはありますか?

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

django - Django Rest Framework のネストされた URL

モデルは

drf-extensions を使用する可能性があり、どのように使用できますか。

のような URL を設定する方法

GET、POST、および PUT の応答を提供できる必要があります。

以下のフォーマットから

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

django - Django REST drf-nested-routers が権限チェックをトリガーしない

ModelViewSets で drf-nested-routers を使用しています。すべて正常に動作しますが、リソース/オブジェクトに対する権限チェックは実行されていません。

単一のリソース/ネストされていない URL を処理する場合、権限チェックが実行されます。

私が見逃しているものはありますか?