PyCon APAC 2023

Django ORM道場:クエリの基本を押さえ,より良い型を身に付けよう
2023-10-27 , track 4

Django ORMはSQLの知識がなくてもある程度のデータベース操作ができる便利な技術ですが、その知識だけでDB操作をしていると、気がつかないうちにとても効率の悪い実装をしてしまいます。Web開発からプログラミングを始めた人はWebフレームワークを使ってしばらくしてからDBに関心を持つようになる、何ならDBのことはあまり考えたくない、という方も多いのではないでしょうか。このDjango ORM道場では、そんな「Django ORMあるある」を正し、本来やりたかったはずの処理を効率良く行うことができるよう、基本の型を紹介します。


本トークでは、Djangoに内蔵されているDjango ORMによるデータ取得操作を扱っていきます。ほかのプログラミング言語や、ほかのWebフレームワークでは詳細は異なりますが、基本的な考え方は広く使えるはずです。
スポーツであれば鏡を見ながらトレーニングしたり、動画を撮って自分の動きやフォームを見ながら練習します。ソフトウェア開発も同じで、プログラムの実行結果を最後まで確認せずにコードを書くことはほとんどありません。ORMクエリの場合、「期待する値が取れたか」に注目してしまいがちですが、「ORMクエリが発行するSQL文」をよく観察する必要があります。試合の結果(実行結果や処理速度)だけ見るのではなく、そこに至る過程としてのフォーム(SQL文)を観察して磨いていくことが大事です。
本トークでは、道場主(コンサルタント)の立場から「ORM利用の3つの基本」を押さえ、混乱してしまったDjango ORMコードをスッキリさせる方法を紹介します。
アジェンダは以下の通りです

・自己紹介と、このトークの背景(3分)
・このORM、どんなSQLを実行しているの?(3分)
・基本1:実行しているSQLをいつも確認しよう(5分)
・基本2:意図しないタイミングでのSQL発行を避けよう(7分)
・基本3:理想のSQLからORMを組もう(7分)
・まとめと質疑応答(5分)

・所属
・BeProud
・一般社団法人PyCon JP Association 会計理事
・イベント関連
・PyCamp 講師
・Python mini hack-a-thon主催
Sphinx-Users.jp 運営
・Sphinxのコミッター
・Twitter: @shimizukawa( https://twitter.com/shimizukawa )
・URL: http://清水川.jp/