Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Fun with Django and Databases
Andrew Godwin
July 19, 2010
Programming
0
23
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
andrewgodwin
0
80
andrewgodwin
0
63
andrewgodwin
0
270
andrewgodwin
0
240
andrewgodwin
0
44
andrewgodwin
2
640
andrewgodwin
1
120
andrewgodwin
0
36
andrewgodwin
0
96
Other Decks in Programming
See All in Programming
azdaroth
0
170
ogidow
0
130
horie1024
1
390
saki4869
0
190
akatsukinewgrad
0
210
bkuhlmann
4
620
mraible
PRO
0
110
dulltz
0
520
muttsu_623
0
510
hr01
1
1.3k
chichou
1
850
akatsukinewgrad
0
210
Featured
See All Featured
nonsquared
81
3.3k
phodgson
87
3.9k
chriscoyier
780
240k
jmmastey
9
540
jnunemaker
PRO
40
4.6k
qrush
285
18k
iamctodd
17
1.8k
keathley
18
640
maggiecrowley
8
430
bryan
100
11k
shpigford
165
19k
schacon
145
6.6k
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