from django.db import models
from django.utils import timezone
import datetime
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
当我跟随Django教程时,我发现一个问题,当我运行Question.objects.all()时,它只打印类名而不是我已经设置的文本。请问我有什么方法可以打印出文本而不是每次只打印类名?
尝试覆盖__repr__
而不是__str__
(或两者)
From docs:
由内置函数repr()调用,用于计算对象的"正式"字符串表示。