Djangoのupdate_or_createでdefaultsの使い方

今回はDjangoのupdate_or_createでdefaultsの使い方についてご紹介いたします。



Djangoのupdate_or_createでdefaultsの使い方

例として、次のBookモデルがあるとします。

このBookモデルで、titleとauthorが一致する場合はpriceをupdate、titleとauthorが一致しない場合は新たにデータをinsertするロジックを考えたとします。

そんな時は、次のような記述が可能です。

ちなみに、一つ目の返り値はinsertかupdateしたmodelが返りますが、二つ目の返り値としてBooleanの値を取得することが可能です。

例えば、次のように書けばデータをinsertした場合はcreatedがTrue、データをupdateした場合はcreatedがFalseで返ってきます。

終わりに

今回はDjangoのupdate_or_createでdefaultsの使い方についてご紹介いたしました。

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

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

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






Django

Posted by ちこ