我有一个django形式的以下字段:
position = forms.ModelChoiceField(Position.objects.order_by('-ordering'),
empty_label='Select Position',)
在我的Position
模型中,我使用unicode
字段显示名为“position”的字段。但是,在这种特殊形式中,我希望输出是模型中名为“position-select”的不同字段。我如何不用更改unicode
字段的默认输出?
谢谢。
答案 0 :(得分:3)
这是有用的:
class PositionSelect(forms.ModelChoiceField):
def label_from_instance(self, obj):
return obj.select_display
class Position(forms.Form):
position = PositionSelect(Position.objects.order_by('-ordering'),
empty_label='Select Position',)
答案 1 :(得分:1)
根据https://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield的示例,尝试“继承ModelChoiceField并覆盖label_from_instance”。您可以在该重写类中指定对其他字段的__unicode__
函数的引用。