gpt4 book ai didi

Django DecimalField 返回 "None"而不是空值

转载 作者:行者123 更新时间:2023-12-01 02:17:54 25 4
gpt4 key购买 nike

有没有办法强制 django 不显示任何内容,而不是为留空的十进制字段显示“无”?

在我的模板中,我显示了特定字段的所有值的列表。每个值都超链接到一个页面,该页面显示根据该值过滤的查询结果。但是因为有一些条目为空值,我的列表包括实际的 DecimalField 条目和所有空条目的“无”。当用户单击 None 时,django 会抛出验证错误,因为您无法使用字符串查询 DecimalField。

我可以编写 if 语句检查所有十进制字段的实例是否为 None 并跳过它们,但这远不是一个优雅的解决方案。有什么建议吗?

这是代码的一部分,尽管还有其他模板以略有不同的方式派生 None 值:

{% for item in choices %}
<a href={% url app_views.field_choice item %}>{{ item }}</a><br>
{% endfor %}

最佳答案

如果你不想过滤值列表,你可以使用内置的 default default_if_none 模板过滤器来控制显示的内容,但是对于上面给出的示例,您最终会得到空链接。

{{ item|default_if_none:"" }}

鉴于您需要对每个值进行超链接和查询,以及如果没有给出数字就会显示错误的 View ,我会在您将列表传递给模板上下文时对其进行过滤:
{"choices": [choice in choices where choice is not None]}

关于Django DecimalField 返回 "None"而不是空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com