我定义了一个带有描述和外键的问题模型。
class Question(models.Model):
user = models.ForeignKey(
User,
verbose_name="User",
default=None
)
description = models.CharField(
max_length=60,
#verbose_name=_("Description"),
)
之后,我进行了迁移。
然后,在views.py
中我创建了一个访问该模型对象的方法:
def own_questions(request):
questions = Question.objects()
return JsonResponse(questions)
问题是当我访问与此方法对应的URL /questions
时,我得到:
NameError at /questions/
global name 'Question' is not defined
为什么会这样?
答案 0 :(得分:3)
可能是因为您还没有导入
from .models import Question
进入views.py
答案 1 :(得分:2)
您需要在views.py中导入Questions
:
from app.models import Question
此外,questions = Question.objects
仅向您提供查询集管理器,您无法调用它,而是针对所有问题,您需要:
questions = Question.objects.all()
修改强>
我不应该假设您要尝试从模型Question
查询的内容,所以这里是关于how to write ORM for queries的django doc。