我在我的应用程序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
通过shell我想将此类的实例添加到数据库中 我使用
通过命令行输入shellpython 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 []>
答案 0 :(得分:1)
创建问题后
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())
答案 1 :(得分:0)
你没有保存这个问题。
q.save()