我开始使用 Mongodb 学习 Django,按照 djangoproject 教程创建一个投票应用程序。我在引发 404 错误时遇到问题。如果我这样做:
def detail(request, poll_id):
try:
poll = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404
return render(request, 'polls/detail.html', {'poll': poll})
它有效,但如果我尝试使用 django 快捷方式:
def detail(request, poll_id):
poll = get_object_or_404(Poll, pk=poll_id)
return render(request, 'polls/detail.html', {'poll': poll})
我收到这个错误
Object is of type 'Poll', but must be a Django Model, Manager, or QuerySet
我认为发生此错误是因为在 models.py 中我将 Poll 模型定义为 mongoengine 文档而不是 django 模型
class Poll(Document):
我应该怎么做才能使 get_object_or_404() 方法正常工作?