无法为django项目找到变量sqlite

时间:2017-09-29 09:34:20

标签: python django sqlite

我正在PyCharm中创建demo django项目。所以我一直关闭并重新打开PyCharm。但是我注意到,一旦我在PyCharm中重新打开我的django项目,并通过python manage.py shell转到sqlite命令提示符,并查找以前创建的模型,我就会出现以下错误

>>> b.id
Traceback (most recent call last):
  File "<console>", line 1, in <module>
NameError: name 'b' is not defined

但是当我执行命令

 Album.objects.all()

我确实了解了以前创建的模型的详细信息

>>> Album.objects.all()
<QuerySet [<Album: yaad: Sonu Nigam>, <Album: : >, <Album: : Back Street Boys>, <Album: InComplete: Back Street Boys>, <Album: In The End: Linkin Park>]>

这是一种任何缺陷,或者只是我看到这种情况,或者我错过了什么?

Python 3.6 django 1.11 pycharm 2017.2.3

1 个答案:

答案 0 :(得分:3)

这个问题的根源是你不明白shell是什么。

基本上,django shell允许您访问模型,但不是普通的python shell。您无法通过执行以下操作来创建模型实例:

b = Album.objects.all()[0]

你所做的是将你的模型的第一个实例保存在python变量中。

如果您想创建新的模型实例,可以使用模型的create方法。Album.objects.create()(可能带有一些参数)。

我建议您返回Django文档并按照Django Docs tutorial

进行操作