我在应用程序 models.py 文件中创建了一个类,如下所示:
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
通过外壳,我想将此类的实例添加到数据库中我使用命令行进入外壳
python manage.py shell
然后我创建对象
>>> from polls.models import Question
>>> Question
<class 'polls.models.Question'>
>>> from django.utils import timezone
>>> q = Question (question_text='Million Dollar Question', pub_date=timezone.now())
>>> q
<Question: Million Dollar Question>
当查看问题的所有对象时,会得到一个空的查询列表,怎么来?
>>> Question.objects.all()
<QuerySet []>
创建问题后
q = Question (question_text='Million Dollar Question', pub_date=timezone.now())
您在内存中具有可用的实例,但未保存到数据库中 - 这就是Question.objects.all()
不返回它的原因。要保存它,请在实例上调用save()
。
q.save()
Django 在 ObjectManager 上提供了一个方法,可以为你执行这两个步骤:
q = Ouestion.objects.create(question_text='Million Dollar Question', pub_date=timezone.now())
你没有保存问题。
q.save()