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.9k
Django QuerySet "ARE" Patterns
DjangoCongress JP 2019 Lightning Talk
HayaoSuzuki
May 18, 2019
Tweet
Share
More Decks by HayaoSuzuki
See All by HayaoSuzuki
Tasting "Python Distilled"
hayaosuzuki
0
51
Let's implement useless Python objects
hayaosuzuki
0
1.2k
How to Write Robust Python Code
hayaosuzuki
5
3.3k
Unknown Evolution of the Built-in Function pow
hayaosuzuki
0
1.2k
Python for Everyday
hayaosuzuki
1
1.6k
How to Use In-Memory Streams
hayaosuzuki
0
3.6k
Do you know cmath module?
hayaosuzuki
0
2.8k
Elementary Number Theory with Python
hayaosuzuki
1
3.1k
A Modernization of Legacy Django Based Applications
hayaosuzuki
1
6.5k
Other Decks in Technology
See All in Technology
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
AOAI Dev Day - Opening Session
yoshidashingo
2
430
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
Featured
See All Featured
Visualization
eitanlees
139
14k
Building Your Own Lightsaber
phodgson
101
5.9k
Optimizing for Happiness
mojombo
373
69k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Building Adaptive Systems
keathley
34
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
How STYLIGHT went responsive
nonsquared
93
5k
What's in a price? How to price your products and services
michaelherold
239
11k
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資料は事前に準備しよう