問題タブ [drf-extensions]

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 に答える
362 参照

django - idの代わりにuuidを使用してネストされたルートを行う方法drf-extensions django

私は 2 つの Django モデルを持っています。ここでモデルの名前を変更しますが、考え方は同じです。

私はビューを持っています:

そして私のurls.pyファイルで:

管理者経由で写真をアップロードし、それらの写真に添付写真をアップロードして aws 経由で保存できる小さなアプリを作成しました。Djangoに主キーを自動作成させようとしましたが、何らかの理由でうまく機能しませんuuidでした.私のモデルでそれ。

私の主なエラーは、次のようなURLが必要な場合でも、次のとおりです。

データベースにある写真のuuidを確認した後、アドレスバーに手動で入力しました(uuidは です)すべての添付ファイルを取得します( URLc6e53d17-72ba-4a5f-b72e-26b8b2d25230の を使用して、指定された写真に属さない添付ファイルも含む)。uuid

この小さなチュートリアルhereによると、ほとんど同じセットアップがあり、代わりiduuid. これが問題だと推測していますが、よくわかりません。私はまた、このビューセットが問題であると考えていました:

特定の写真に添付されたすべての添付ファイルではなく、すべての添付ファイルを取得しているということです。私は次のようなものを使用する必要があると考えてfilter(photo=photo_uuid)いますが、チュートリアルによると、それを行う必要がないことがわかりましphoto_uuidviewset

繰り返しますが、私の問題は、id ではなく uuid を扱っている場合、これが私の問題であると信じている場合 (それが何か他のものでない限り)、ネストされたルートを正しく行うにはどうすればよいかということです。それが私が今処理しなければならないものである場合、これAttachmentViewSetを正しく行う方法よりもfilter. あるかもしれませんが、そうであれば、ビューセット内でこれにアクセスするにはどうすればよいでしょうか*args**kwargs

私はできることがわかりました

印刷すると、必要なものが表示され、フィルタリングによって必要なものを返すことができますが、それを行う実際の方法はありますか?

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

python - ビュー名「rest:campaign-detail」を使用してハイパーリンク関係の URL を解決できませんでした

Django の世界の初心者です。ネストされたルートのハイパーリンクの作成に苦労しています。

私が得ているエラーは次のとおりです。

プロジェクトの設定に関する注意事項

  • ジャンゴレストフレームワークの使用

  • DRF-extensionsルートの作成に使用

  • ModelViewSet の使用

  • 予想されるエンドポイント:

    • /アカウント/

    • /accounts/< pk >/

    • /accounts/< pk >/campaigns/

    • /accounts/< pk >/campaigns/< pk >/

    • /accounts/<pk>/campaigns/adgroup/

    • /accounts/< pk >/campaigns/adgroup/< pk >/

  • resturls.pyに名前空間を設定する

  • を使用HyperlinkedIdentityFieldしてハイパーリンクを作成します。親オブジェクトでのみ機能します。

    • url = serializers.HyperlinkedIdentityField(view_name='rest:account-detail')

ただし、ネストされたオブジェクトでは失敗します。

  • url = serializers.HyperlinkedIdentityField(view_name='rest:campaign-detail')

モデルは非常にシンプルで、1 つのアカウントに複数のCampaignsを設定でき、1 つのキャンペーンに複数のAdGroupsを設定できます。以下のコードを参照してください。

models.py

ビュー.py

serializers.py

2 つの URL ファイルがあります。プロジェクトの名前はVanillaで、DRF ロジックが配置されているアプリの名前はrestです。

バニラurls.py

残りの urls.py

ありがとう!