有没有一种方法可以在Django模板中检查空查询集?在下面的示例中,我只想在有注释时显示NOTES标题。
如果我在“for”中放置{% empty %},那么它会显示空标记内的内容,因此它知道它是空的。
我希望有一些不涉及两次运行查询的方法。
澄清:以上“if notes”示例不起作用-即使是空查询集,它仍然显示标题。
以下是该视图的简化版本。
如果我在“for”中放置{% empty %},那么它会显示空标记内的内容,因此它知道它是空的。
我希望有一些不涉及两次运行查询的方法。
{% if notes - want something here that works %}
NOTES:
{% for note in notes %}
{{note.text}}
{% endfor %}
{% endif %}
澄清:以上“if notes”示例不起作用-即使是空查询集,它仍然显示标题。
以下是该视图的简化版本。
sql = "select * from app_notes, app_trips where"
notes = trip_notes.objects.raw(sql,(user_id,))
return render_to_response(template, {"notes":notes},context_instance=RequestContext(request))
编辑:视图选择从多个表中选择。
{% if notes %}
不起作用? - karthikrnotes
是一个原始的查询集,与常规的查询集不同,它没有定义__nonzero__
方法。因此,即使为空,它们也会被视为True。参考链接:http://docs.python.org/2/reference/datamodel.html#object.__nonzero__ - Peter DeGlopper