Django Model.objects.all()没有在建议中显示

时间:2014-05-18 19:50:33

标签: python django models

我正在使用Python Tools for Visual Studio(Python 3和django 1.6)并尝试从这样的表中访问数据:

from django.http import HttpResponse
from django.template import Template, Context
from ticket.models import Task

def ticket_listing(request):
   objects = Task.objects.all().order_by('-due_date')
   template = Template('{%for elem in objects %} {{elem}}<br/> {% endfor %}')
   context = Context({'objects', objects})
   return HttpResponse(template.render(context))

问题是在Task之后,对象没有出现在建议中,似乎它不可用。为什么?如果我运行此代码,我会得到一个空模板...我检查过数据库中的条目(3行)。

1 个答案:

答案 0 :(得分:2)

代码中存在拼写错误,但它没有TypeError ...您已经创建了一个集合而不是字典来传递给模板。 Django没有抱怨,因为它是一个可迭代的,没有类型检查。

>>> {1, 2}
set([1, 2])
>>> {1: 2}
{1: 2}

您只需要通过以下方式替换错误的行:

context = Context({'objects': objects})