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
Fun with Django and Databases
Search
Andrew Godwin
July 19, 2010
Programming
0
74
Fun with Django and Databases
A talk I gave at EuroPython 2010
Andrew Godwin
July 19, 2010
Tweet
Share
More Decks by Andrew Godwin
See All by Andrew Godwin
Reconciling Everything
andrewgodwin
1
320
Django Through The Years
andrewgodwin
0
210
Writing Maintainable Software At Scale
andrewgodwin
0
440
A Newcomer's Guide To Airflow's Architecture
andrewgodwin
0
360
Async, Python, and the Future
andrewgodwin
2
670
How To Break Django: With Async
andrewgodwin
1
730
Taking Django's ORM Async
andrewgodwin
0
730
The Long Road To Asynchrony
andrewgodwin
0
660
The Scientist & The Engineer
andrewgodwin
1
770
Other Decks in Programming
See All in Programming
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
120
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.7k
Constant integer division faster than compiler-generated code
herumi
2
430
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
6
1.4k
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
280
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
300
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
930
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
940
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
7
2.1k
ワープロって実は計算機で
pepepper
2
1.1k
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
自作OSでDOOMを動かしてみた
zakki0925224
1
950
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Bash Introduction
62gerente
614
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Building Applications with DynamoDB
mza
95
6.5k
Site-Speed That Sticks
csswizardry
10
760
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Transcript
Django and Databases Fun with
""Andrew speaks English like a machine gun speaks bullets."" Reinout
van Rees
Introduction
from django.db import models
First, an aside
""When all you have is a hammer, everything looks like
a nail"" Abraham Manslow (paraphrased)
Also, "NoSQL"? Really?
queryset.raw()
qs = Teacher.objects.raw(""" SELECT t.name, COUNT(s.id) FROM school_teacher AS t
INNER JOIN school_student AS s ON t.id = s.teacher_id GROUP BY t.name HAVING COUNT(s.id) > 2 """)
queryset.aggregate()
qs = Teacher.objects.annotate( num_students = models.Count('student') ).filter(num_students__gt=2)
Search haystack __search=
Schema Changes
Changing Requirements
Dynamic/Unknown Data
Document Databases MongoDB CouchDB
Key-Value Stores Redis Cassandra
Redis Sets Sorted Sets Hashes Pub/Sub Atomicity
Message Queues AMQP Celery
Various Others Graph databases Filesystems VCSs
Conclusion
Thanks. Andrew Godwin @andrewgodwin http://aeracode.org