From 5bfa62343c20a7155baa1ea4d93097150c5ce833 Mon Sep 17 00:00:00 2001 From: Josh Flatt Date: Sat, 22 Nov 2025 20:24:46 -0600 Subject: [PATCH] added models, migrations --- mysite/settings.py | 1 + polls/migrations/0001_initial.py | 52 ++++++++++++++++++++++++++++++++ polls/models.py | 23 ++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 polls/migrations/0001_initial.py diff --git a/mysite/settings.py b/mysite/settings.py index 8eae397..0b9830b 100644 --- a/mysite/settings.py +++ b/mysite/settings.py @@ -31,6 +31,7 @@ ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ + "polls.apps.PollsConfig", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", diff --git a/polls/migrations/0001_initial.py b/polls/migrations/0001_initial.py new file mode 100644 index 0000000..ca0ee31 --- /dev/null +++ b/polls/migrations/0001_initial.py @@ -0,0 +1,52 @@ +# Generated by Django 5.2.8 on 2025-11-23 02:19 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Question", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("question_text", models.CharField(max_length=200)), + ("pub_date", models.DateTimeField(verbose_name="date published")), + ], + ), + migrations.CreateModel( + name="Choice", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("choice_text", models.CharField(max_length=200)), + ("votes", models.IntegerField(default=0)), + ( + "question", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, to="polls.question" + ), + ), + ], + ), + ] diff --git a/polls/models.py b/polls/models.py index 71a8362..d21b59b 100644 --- a/polls/models.py +++ b/polls/models.py @@ -1,3 +1,26 @@ +import datetime + from django.db import models +from django.utils import timezone # Create your models here. + + +class Question(models.Model): + question_text = models.CharField(max_length=200) + pub_date = models.DateTimeField("date published") + + def __str__(self): + return self.question_text + + def was_published_recently(self): + return self.pub_date >= timezone.now() - datetime.timedelta(days=1) + + +class Choice(models.Model): + question = models.ForeignKey(Question, on_delete=models.CASCADE) + choice_text = models.CharField(max_length=200) + votes = models.IntegerField(default=0) + + def __str__(self): + return self.choice_text