模型未定义

时间:2016-04-05 18:18:20

标签: python django

我定义了一个带有描述和外键的问题模型。

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

为什么会这样?

2 个答案:

答案 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。