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
HayaoSuzuki
May 18, 2019
Technology
0
2.8k
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
hayaosuzuki
0
970
How to Write Robust Python Code
hayaosuzuki
5
2.8k
Unknown Evolution of the Built-in Function pow
hayaosuzuki
0
1.1k
Python for Everyday
hayaosuzuki
1
1.3k
How to Use In-Memory Streams
hayaosuzuki
0
3.3k
Do you know cmath module?
hayaosuzuki
0
2.7k
Elementary Number Theory with Python
hayaosuzuki
1
3k
A Modernization of Legacy Django Based Applications
hayaosuzuki
1
6.3k
技術書査読・校正の現場から
hayaosuzuki
0
4.5k
Other Decks in Technology
See All in Technology
ChatGPTのLT会-メモソフトにChatGPT入れると結構便利
okada_fuutass
0
150
【OpenAI本出版記念】npakaによるOpenAI最新技術情報と技術情報キャッチアップ術
npaka
8
1.4k
Proposal for a fictitious company presented by JAWS-UG DE&I team 'Naniwa Musume'
hiroramos4
PRO
0
120
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
4
34k
layerx-0-to-1-product-development-in-compound-startups
shnjtk
1
510
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
hssh2_bin
4
590
OCI Data Science Service 製品概要
oracle4engineer
PRO
0
110
App Runnerでパラメーターストアの値を使ってみた
miura55
0
230
理想の組織も自分たちで作ろう! ―LayerXの「全員採用」を支える文化 / How to create our own ideal team
ar_tama
6
2.1k
スクラムマスター不在でスクラムをやるのは(とても辛いので)やめておけ! #scrumfukuoka
nulabinc
PRO
4
890
履歴データテーブルとの向き合い方_PHPerKaigi2024
gennei
25
6.7k
UIからの自動テスト事例
tomasagi
8
3.3k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Visualization
eitanlees
135
14k
Product Roadmaps are Hard
iamctodd
43
9.6k
Typedesign – Prime Four
hannesfritz
36
2k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
GitHub's CSS Performance
jonrohan
1023
450k
Why Our Code Smells
bkeepers
PRO
330
56k
Code Reviewing Like a Champion
maltzj
512
39k
The Invisible Side of Design
smashingmag
293
49k
Ruby is Unlike a Banana
tanoku
95
10k
Keith and Marios Guide to Fast Websites
keithpitt
407
22k
Facilitating Awesome Meetings
lara
39
5.5k
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資料は事前に準備しよう