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
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
660
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
460
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
260
The Rails Doctrine Decade
koic
2
350
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.3k
Jetpack Compose メカニズム
skydoves
0
470
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
910
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
250
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.9k
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
A better future with KSS
kneath
240
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
The agentic SEO stack - context over prompts
schlessera
0
940
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.9k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
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に いま悩んでいる⼈も これから悩む⼈も ぜひご⼀読を!