有没有办法强制django为空白的Decimal字段显示任何内容而不是“None”?Django DecimalField返回“None”而不是空值
在我的模板中,我显示了一个特定字段的所有值的列表。每个值都超链接到一个页面,该页面显示按该值过滤的查询结果。但是由于有一些空值的条目,我的列表中包含实际的DecimalField条目,而所有那些为空的条目都包含“None”。当用户点击None时,django会抛出验证错误,因为您无法使用字符串查询DecimalField。
我可以编写if语句来检查Nones的所有十进制字段的实例并跳过它们,但这远非优雅的解决方案。有什么建议?
这是代码的一部分,但也有在略微不同的方式推导出无其他有价值的模板:
{% for item in choices %}
<a href={% url app_views.field_choice item %}>{{ item }}</a><br>
{% endfor %}
好,因为没有只显示一次,我只会得到一个空的链接,这将是不可见的用户。 将1 if语句添加到循环会很好,但是如果/当我扩展模板以专门引用单个字段(而不是动态循环它们)时,我必须为每个字段编写if语句可能包含无的参考。 – 2010-03-26 16:46:52
这是一个非常糟糕的做法,指望用户看不到链接,只是因为它们是空的。他们仍然在那里,而且他们会被使用的情况很多。 – 2010-03-26 16:57:09
同意。我改变了视图以过滤出列表中无值的值。然后,我使用default_if_none筛选器筛选未预先过滤的模板 – 2010-03-26 17:49:08