在django中处理空值和零值

mee*_*eep 1 django null

如果我有一个可以为空的字段的模型:

class Something(models.Model):
    parameter = models.FloatField(blank=True,null=True)
Run Code Online (Sandbox Code Playgroud)

然后我想在视图或模板中处理这个问题.

如果something.parameter有一个值,我想返回值,如果它是null,我想返回'N/A'.

如果我使用:

something = Something.objects.get(id=1)
output_string = 'parameter value: %s' % (something.parameter or 'N/A')
Run Code Online (Sandbox Code Playgroud)

然后这是有效的,除了在something.parameter = 0的情况下,它也返回'N/A'而不是所需的'0'.

我该如何纠正这种行为?

有没有办法直接在模板中执行此操作?

Jon*_*nan 8

使用default_if_none模板过滤器:

{{ value|default_if_none:"N/A" }}
Run Code Online (Sandbox Code Playgroud)