当Django中的ForeignKey为None时,是否可以指定默认显示值?

时间:2010-07-12 10:11:20

标签: django django-models foreign-keys

我的Django模型中有ForeignKey,可以为null。

group = models.ForeignKey(Group, null = True, blank = True)

如果分配了空值,我想在模板中渲染一些特定的文本(例如“No grooup assigned”)。我使用default filter并且没关系,我在各种模板中重复此代码。我正在寻找解决方案,我将全部为某个模型的FK分配一些无显示值。

像:

group = models.ForeignKey(Group, null = True, blank = True, display_if_none='No group assigned') 

有可能吗?

1 个答案:

答案 0 :(得分:0)

因为这实际上是“表示逻辑” - 它最适合模板或视图。

如果您担心在许多模板中重复逻辑,可以采用几种方法。一种可能性是编写一个简单的custom template tag,它将返回“没有分配的组”,或者当分配了一个组时可以显示的任何内容(可能是组名,有或没有指向的超链接)小组详情页面。)

另一种方法可能是使用include标记,并包含一个小模板,它基本上与模板标记完全相同。