Upload
emil-stenstroem
View
63
Download
0
Embed Size (px)
Citation preview
Dag 4: Django & Databaser
Vad är en databas?
Utdata Indata Namn År
1 … … … …
2 … … … …
3 … … … …
4 … … … …
Färg Vikt Vem När
1 … … … …
2 … … … …
3 … … … …
4 … … … …
Används via kod…
SQL
Inte magiska…
Utdata Indata Namn År
1 … … … …
2 … … … …
3 … … … …
4 … … … …
Färg Vikt Vem När
1 … … … …
2 … … … …
3 … … … …
4 … … … …
SQL?!
SELECT COUNT(id) FROM user WHERE reg_date > "2000-01-01"
SELECT username FROM user WHERE username LIKE ”emil%"
Django Models• Skapa data:
• User.objects.create(username=”emil”, reg_date=”2015-08-06”)
• Hämta ut data:
• User.objects.filter(reg_date__gt=”2001-01-01”).count()
• User.objects.filter(username__startswith=”emil”)
• User.objects.get(username=”emil”)
Django Models• Uppdatera data:
• User.objects.get(username=”emil”)
• user.username = “emil2”
• user.save()
• Ta bort data:
• User.objects.filter(username__startswith=”emil”).delete()
Vår Quiz-Model
id name slug description
1 Klassiska böcker klassiska Här kan du…
2 … … …
3 … … …
4 … … …
models.py
class Quiz(models.Model): name = models.CharField(max_length=100) slug = models.SlugField(max_length=100) description = models.TextField()
Vår Questions-Model
id question answer1 answer2 answer3 correct quiz_id
1Hur
många… 12 123 1234 2 1
2 … … … … … …
3 … … … … … …
4 … … … … … …
Question
models.py
class Question(models.Model): quiz = models.ForeignKey(Quiz) question = models.TextField() answer1 = models.CharField(max_length=100) answer2 = models.CharField(max_length=100) answer3 = models.CharField(max_length=100) correct = models.PositiveIntegerField()
”Migrations”
• python manage.py makemigrations
• Migrations for 'quiz': 0001_initial.py: - Create model Question - Create model Quiz - Add field quiz to question
• python manage.py migrate
Django Admin