在Django中查询单个行表

时间:2015-01-14 13:50:24

标签: django

这可能很简单。但我无法推理出来。我正在使用Django 1.7.2

我有一个模型,其中表中只有一行数据。

案例1:objects.all()

info = ModelName.objects.all()

我获取数据但是当我尝试将其放入模板时,它没有显示出来。

{% for item in info %}
    {{ item.name }}
{% endfor %}

案例2:objects.get()

info = ModelName.objects.get()

我获取数据并将其显示在模板中。

{{ info.name }}

问题:

有人可以解释为什么案例1 无效吗?

案例2 中使用get()而没有任何 pk 值是不是很好?

1 个答案:

答案 0 :(得分:0)

案例2工作正常,因为get()函数的参数是可选的。如果您不提供任何内容,它将与每条记录匹配。由于你的表只有一个,所以它不会例外。

请参阅文档:https://docs.djangoproject.com/en/1.7/ref/models/querysets/#get

你的案例1应该有效。检查您的info是否在模板的上下文中。