Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DjangoのORMを触るあるSQLおじさんの悩み
Search
Chihiro Kaneko
June 30, 2018
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DjangoのORMを触るあるSQLおじさんの悩み
Chihiro Kaneko
June 30, 2018
Other Decks in Programming
See All in Programming
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
180
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
140
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
880
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
SREの越境 / SRE Collaboration
y0hgi
2
310
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
What's in a price? How to price your products and services
michaelherold
247
13k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Ruling the World: When Life Gets Gamed
codingconduct
0
400
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Raft: Consensus for Rubyists
vanstee
142
7.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Transcript
DjangoのORMを触る あるSQLおじさんの悩み PyCon JP Kyushu - 2018 Fukuoka 2018-06-30 hirokinko
お前誰よ? hirokinko(ひろ きんこ) 株式会社UNCOVER TRUTH所属 (東京から来ましたまだ東京で消耗しています) 前職:あるECサイトのキャッシュサーバーのお守り 現在:WEBサイト解析サービスのサーバーサイド開発
あるSQLおじさんの悩み ORMで複雑なクエリを表現するのむずくね? 前職では・・・ 商品データを IMDGにキャッシュしたり 集計したり ゴニョゴニョするバッチを書いたり 主に⽣SQLで書いてました 今は・・・ Djangoを使ってサービスの開発しています
たとえば・・・ このSQLをDjangoのORMで表現するには? (これはまだ簡単な例ですが・・・) SELECT hero.name, category.name AS category_name FROM hero
INNER JOIN category ON ( hero.category_id = category.id ) WHERE category.name = 'spam' UNION SELECT villain.name, category.name AS category_name FROM villain INNER JOIN category ON ( villain.category_id = category.id ) WHERE category.name = 'egg'
そこで最近⾒つけたこの本 https://books.agiliq.com/projects/django- orm-cookbook/en/latest/
どんな本? インドでDjangoを⽤いて受託開発してる⼈たちが書いた本 DjangoのORMで◯◯するには? を集めたHow To集
これを読んだらどうなった? >>> from django.db.models import F >>> from entities.models import
Hero, Villain >>> q1 = Hero.objects.annotate( ... category_name=F('category__name'), ... ) >>> q1 = q1.values('name', 'category_name') >>> q1 = q1.filter(category_name='spam') >>> q2 = Villain.objects.annotate( ... category_name=F('category__name'), ... ) >>> q2 = q2.values('name', 'category_name') >>> q2 = q2.filter(category_name='egg') >>> q1.union(q2) あ!! これDjango ORM Cookbookで読んだやつだ!!
超助かってます! DjangoのORMに いま悩んでいる⼈も これから悩む⼈も ぜひご⼀読を!