将 Django 布尔值从默认值 "False" 更改为类似 "No"



我有一个布尔值,它是假的,但我希望它在网页上打印时说"否"而不是"假"。

打印"是"而不是"True"(如果它是真的(也是如此。我假设这是可能的!

模型中的代码:

urgent = models.BooleanField()

模板中的代码:

<p>Upvotes: {{ ticket.urgent}}</p>

现在,打印这听起来很奇怪:

Urgent: False

但这听起来更自然,更好的用户体验等:

Urgent: No

你可以只使用yesno

将 True、False 和(可选(None 的值映射到字符串"yes"、"no"、"maybe"或作为逗号分隔列表传递的自定义映射,并根据值返回其中一个字符串:

<p>Upvotes: {{ ticket.upvotes|yesno }}</p>

您可以编写自定义模型字段

类似的东西(我不检查(

class CustomBoolean(models.Field):
# ...
def to_python(self, value):
        if value == 'No':
        return False
    else:
        return True

相关内容

最新更新