DRFでurlのpkで型を指定しないとき、末尾にあるとint、urlの途中にあるとstringになる【メモ書き】

自分のメモ書き用です。

DjangoのDRFでpkを入れて型を指定しないときに、pkが末尾にあるとint、urlの途中にあるとstringになります。

Djangoのバージョンは2.2.24です。



DRFでurlのpkで型を指定しないとき、末尾にあるとint、urlの途中にあるとstringになる【メモ書き】

例として、次のようなpathがあるとします。

普通だったら、

のようにキャストすべきですが、例ではpkにキャストがついていません。

このようにurlの末尾にpkがある場合は、pkは自動的にintになります。

しかし、次のように末尾ではなくurlの途中にpkがあるとします。

この場合はpkは自動的にstringになります。

次のように明示的にpkにintを指定してあげなければ、pkがintになりません。

終わりに

DjangoのDRFでpkを入れて型を指定しないときに、pkが末尾にあるとint、urlの途中にあるとstringになるというお話をさせていただきました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






DRF

Posted by ちこ