Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Django QuerySet "ARE" Patterns
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
HayaoSuzuki
May 18, 2019
Technology
0
3.4k
Django QuerySet "ARE" Patterns
DjangoCongress JP 2019 Lightning Talk
HayaoSuzuki
May 18, 2019
Tweet
Share
More Decks by HayaoSuzuki
See All by HayaoSuzuki
Let's implement useless Python objects (revised)
hayaosuzuki
0
21
Tomorrow graphlib, Let us use everybody
hayaosuzuki
1
1.4k
Tasting "Python Distilled"
hayaosuzuki
0
360
Let's implement useless Python objects
hayaosuzuki
0
2k
How to Write Robust Python Code
hayaosuzuki
5
4.6k
Unknown Evolution of the Built-in Function pow
hayaosuzuki
0
1.5k
Python for Everyday
hayaosuzuki
1
2.3k
How to Use In-Memory Streams
hayaosuzuki
1
6.2k
Do you know cmath module?
hayaosuzuki
0
3.3k
Other Decks in Technology
See All in Technology
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
160
Phase11_戦略的AI経営
overflowinc
0
1.4k
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
180
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
130
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
FastMCP OAuth Proxy with Cognito
hironobuiga
3
180
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.1k
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
240
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
180
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
110
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Side Projects
sachag
455
43k
Statistics for Hackers
jakevdp
799
230k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Docker and Python
trallard
47
3.8k
Transcript
明日から使うな! Django QuerySet アレパターン Hayao Suzuki @CardinalXaro
おまえ誰よ • Hayao Suzuki @CardinalXaro • 株式会社アイリッジ ◦ Pythonエンジニア ◦
テックリード(自称) • オライリージャパンの回し者 ◦ テクニカルレビュワー(自称)
今日のテーマ • Django QuerySetでやらかした思い出を語る。 • 本日、スマートフォンで作ったスライドなので手抜きです。 • この発表はフィクションであり、営業さんが客先で軟禁されたとか エンジニアが土日待機したなどの事実はありません。
indexを張らずにDBがスパイクした • token = models.TextField(max_length=200) • token = models.CharField(max_length=200, db_index=True)
年月日で調べたい 'regist_dt__year': today.year, 'regist_dt__month': today.month, 'regist_dt__day': today.day
なんだこれは、たまげたなあ WHERE (EXTRACT(DAY FROM `regist_dt`) = 28 AND EXTRACT(MONTH FROM
`regist_dt`) = 1 AND `regist_dt` BETWEEN '2019-01-01 00:00:00' AND '2019-12-31 23:59:59.999999'
こうした 'regist_dt__gte': datetime.datetime.combine(datetime.date.today(), datetime.time.min), 'regist_dt__lte': datetime.datetime.combine(datetime.date.today(), datetime.time.max),
そうそうこれだよ WHERE (`regist_dt` >= 2019-01-28 00:00:00 AND `regist_dt` <= 2019-01-28
23:59:59.999999
結論 • 実行計画調べよう • SQL見よう • LT資料は事前に準備しよう