2011-02-23 82 views
1

零个值如果我有一个可为空领域的典范:处理空值和在Django

class Something(models.Model): 
    parameter = models.FloatField(blank=True,null=True) 

我想,然后在视图或模板来处理这个问题。

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

如果我使用:

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

然后其工作方式,不同之处的情况下something.parameter = 0,这也将返回 'N/A',而不是所期望的 '0'。

我该如何纠正这种行为?

有没有一种方法直接在模板中做到这一点?

回答

8

使用default_if_none模板过滤器:

{{ value|default_if_none:"N/A" }} 
+0

th谢谢你。在上述观点中,这样做的正确方法是什么? (这是我需要这样做的一个原因) – meepmeep 2011-02-23 12:19:38