問題タブ [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.
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} からのドメインの
以下に例を示します。
python - drf ネストされたルーター - エンドポイントのルート サブルーチン
次のような URL を持つ古いエンドポイントがあります。
関数ベースのビューにマップされました。
現在、drf-nested-routers で動作するように作業をリファクタリングしています。私が知っているのは、カスタム メソッドにルーティングできるということです。以前のエンドポイントがあるときのように、次のようなurl(r'^vehicles/([^/]{1,50})/trips/?$', 'vehicle_trips_view')
メソッドを追加するだけですtrips
:
メソッド trips/data に名前を付けることは明らかにできません。最初の例の詳細なルートを作成する方法はありますか!?
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
取る理由をシリアル化する必要があります。この問題から逃れるために私を助けてください。url
UserMail
PS:モデルのリファクタリングを提案しないでください。として、ここで私は自分のプロジェクトの本当のアイデアをuser
&シングで偽装しmail
ました。したがって、これをテストケースとして、解決策を提案してください。
django - HyperlinkedRelatedField が drf-nested-routers で機能しない
以下のように drf-nested-routers を使用しています
url
シリアライザーにフィールドを追加するCalendar
とうまくいきますが、url
「イベント」シリアライザーにフィールドを追加すると、以下の例外が発生します
ビュー名「event-detail」を使用してハイパーリンク関係の URL を解決できませんでした。関連するモデルを API に含めていないか、
lookup_field
このフィールドの属性が正しく構成されていない可能性があります。
django - Django REST Framework ネストされたルーター - ページネーションが機能しない
readme ページの例と同様に、drf-nested-routersを使用した単純なネストされたルーターがあります。DEFAULT_PAGINATION_CLASS
ネストされたルートのリスト ビューは、私の設定を無視して、まったく改ページされません。これは設計によるものですか?ネストされたルートは手動でページネーションを実装する必要がありますか? self.get_paginated_response
ネストされたビューセットのlist
メソッドを呼び出そうとすると、次のエラーが発生します。
ネストされたビューでの私のlist
方法は次のとおりです。
python - DRF + Nested-Routers - 「QuerySet」オブジェクトに属性「user」がありません
DRF および DRF ネスト ルーターの使用
これが私のコードです:
しかし、新しいメンバーが投稿されると、「QuerySet」オブジェクトには属性「ユーザー」がありませんというエラーが表示されます
何か助けはありますか?
django - Django Rest Framework のネストされた URL
モデルは
drf-extensions を使用する可能性があり、どのように使用できますか。
のような URL を設定する方法
GET、POST、および PUT の応答を提供できる必要があります。
以下のフォーマットから
django - Django REST drf-nested-routers が権限チェックをトリガーしない
ModelViewSets で drf-nested-routers を使用しています。すべて正常に動作しますが、リソース/オブジェクトに対する権限チェックは実行されていません。
単一のリソース/ネストされていない URL を処理する場合、権限チェックが実行されます。
私が見逃しているものはありますか?