PyCon APAC 2023

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

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/