将Django布尔值从默认值“ False”更改为“否”

时间:2019-04-12 11:13:59

标签: python django boolean

我有一个布尔值,它是false,但是我希望它在打印到网页上时说类似“否”而不是“ False”。

如果打印是,则打印“是”而不是“真”也是如此。我以为这是有可能的!

模型中的代码:

urgent = models.BooleanField()

模板中的代码:

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

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

Urgent: False

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

Urgent: No

2 个答案:

答案 0 :(得分:4)

您可以只使用yesno

  

将True,False和(可选)无的值映射到字符串“ yes”,“ no”,“ maybe”或以逗号分隔的列表形式传递的自定义映射,并根据值:

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

答案 1 :(得分:1)

您可以写custom model field

类似的东西(我没有检查)

class CustomBoolean(models.Field):
# ...

def to_python(self, value):
        if value == 'No':
        return False
    else:
        return True