我想知道是否可以在django中添加一些条件字段。 假设我有一个具有ID,名称和说明字段的类别模型。 我想要的是在我的产品模型中添加一个多对多字段,并将其与类别ID模型相关联......并作为帮助参考显示该类别的名称。 我知道我可以将它链接到类别名称,但是我的真实场景稍微复杂一点,我真的需要根据另一个选区显示第二个字段!Django admin site:如何包含条件字段?
非常感谢!
我想知道是否可以在django中添加一些条件字段。 假设我有一个具有ID,名称和说明字段的类别模型。 我想要的是在我的产品模型中添加一个多对多字段,并将其与类别ID模型相关联......并作为帮助参考显示该类别的名称。 我知道我可以将它链接到类别名称,但是我的真实场景稍微复杂一点,我真的需要根据另一个选区显示第二个字段!Django admin site:如何包含条件字段?
非常感谢!
这不是一个有条件的字段。如果我理解正确,那么您真正需要的是定制相关项目的显示,以便它显示name
字段而不是原始ID。幸运的是,如果您在类别模型上定义了__unicode__
方法,那么这就是Django默认会执行的操作,该方法返回您想要显示的值而不是ID。
umh ...我不知道我是否正确地解释了自己:我需要在管理站点中发生这种情况。我仍然在我的Django体验的开始,但我缩小了__unicode__方法是在模板和其他文档中使用,但不在管理面板中使用。 THANSK – 2010-10-11 23:38:28
不,在任何有外键的地方工作,包括管理网站。 – 2010-10-12 07:58:47
除了丹尼尔的回答是:如果你只是想自定义对象的表示在ModelChoiceField
(而不是改变它在一般你将与__unicode__
方法做什么):该字段类有方法label_from_instance
,返回默认情况下,该对象的Unicode值,但你可以覆盖它,只要你喜欢:
class CategoryChoiceField(forms.ModelChoiceField):
def label_from_instance(self, obj):
return "%s %s" % obj.pk, obj.name
在管理网站中做这项工作吗?这就是我需要显示这些信息的地方......我需要根据其他字段的值自动填充一些字段。谢谢 – 2010-10-11 23:39:24
我忘了解释,我需要这种情况发生在管理员! – 2010-10-11 23:41:27