pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
836 B
29 lines
836 B
import datetime
|
|
|
|
from django.db import models
|
|
from django.utils import timezone
|
|
|
|
|
|
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):
|
|
now = timezone.now()
|
|
return now - datetime.timedelta(days=1) <= self.pub_date <= now
|
|
|
|
was_published_recently.admin_order_field = "pub_date"
|
|
was_published_recently.boolean = True
|
|
was_published_recently.short_description = "Published recently?"
|
|
|
|
|
|
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
|
|
|