問題タブ [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.
django - idの代わりにuuidを使用してネストされたルートを行う方法drf-extensions django
私は 2 つの Django モデルを持っています。ここでモデルの名前を変更しますが、考え方は同じです。
私はビューを持っています:
そして私のurls.py
ファイルで:
管理者経由で写真をアップロードし、それらの写真に添付写真をアップロードして aws 経由で保存できる小さなアプリを作成しました。Djangoに主キーを自動作成させようとしましたが、何らかの理由でうまく機能しませんuuid
でした.私のモデルでそれ。
私の主なエラーは、次のようなURLが必要な場合でも、次のとおりです。
データベースにある写真のuuidを確認した後、アドレスバーに手動で入力しました(uuidは です)すべての添付ファイルを取得します( URLc6e53d17-72ba-4a5f-b72e-26b8b2d25230
の を使用して、指定された写真に属さない添付ファイルも含む)。uuid
この小さなチュートリアルhereによると、ほとんど同じセットアップがあり、代わりid
にuuid
. これが問題だと推測していますが、よくわかりません。私はまた、このビューセットが問題であると考えていました:
特定の写真に添付されたすべての添付ファイルではなく、すべての添付ファイルを取得しているということです。私は次のようなものを使用する必要があると考えてfilter(photo=photo_uuid)
いますが、チュートリアルによると、それを行う必要がないことがわかりましphoto_uuid
たviewset
。
繰り返しますが、私の問題は、id ではなく uuid を扱っている場合、これが私の問題であると信じている場合 (それが何か他のものでない限り)、ネストされたルートを正しく行うにはどうすればよいかということです。それが私が今処理しなければならないものである場合、これAttachmentViewSet
を正しく行う方法よりもfilter
. あるかもしれませんが、そうであれば、ビューセット内でこれにアクセスするにはどうすればよいでしょうか*args
。**kwargs
私はできることがわかりました
印刷すると、必要なものが表示され、フィルタリングによって必要なものを返すことができますが、それを行う実際の方法はありますか?
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 >/
rest
urls.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
ありがとう!