【发布时间】:2023-03-04 18:26:02
【问题描述】:
我正在 PyCharm 中创建演示 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
【问题讨论】:
-
错误信息有什么令人困惑的地方?在定义之前,你不能在控制台中使用它。
-
我已经定义了它,这就是我问这个问题的原因,我创建了 "b = Album()" ,这就是为什么我可以通过 "Album.objects.all( )"
-
在哪里你定义的?控制台说你没有。
-
因为,你没有定义
b。 -
是的。为什么您认为控制台会知道您在上一个会话中编写的内容?