2010-06-12 60 views
0

ChoiceField创建一个select html元素,选项显示choice_label,它是每个模型对象的__unicode__。将文本添加到Django的ChoiceField的choice_label中

如何在不修改__unicode__的情况下更改choice_label的文本?

我有一个产品模型,我想在选项文本中显示产品名称+价格+编辑链接。

我已经在fields.py和widgets.py中搜索过,但找不到需要更改的内容。

谢谢

回答

0

从字段类, ModelChoiceField有一个方法label_from_instance,您可以在您的子类中重写。 最初它看起来是这样的:

def label_from_instance(self, obj): 
    return smart_unicode(obj) 

应该没什么大问题,调整这对您的需求!

+0

它看起来完全像我需要的。试着,谢谢。 – pablo 2010-06-14 13:03:45