这可能很简单。但我无法推理出来。我正在使用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 值是不是很好?
答案 0 :(得分:0)
案例2工作正常,因为get()
函数的参数是可选的。如果您不提供任何内容,它将与每条记录匹配。由于你的表只有一个,所以它不会例外。
请参阅文档:https://docs.djangoproject.com/en/1.7/ref/models/querysets/#get
你的案例1应该有效。检查您的info
是否在模板的上下文中。