我有一个带有ModelMultipleChoiceField的ModelForm。
users = forms.ModelMultipleChoiceField(
widget=forms.SelectMultiple(attrs={'class': 'chzn-select'}),
queryset = User.objects.filter(...))
我的列表以用户名显示,作为模型的默认repr
方法。
我希望显示first_name
和last_name
而不会重载repr
方法,因为在其他情况下我需要用户名。
我不想获得values_list('id', 'first_name', 'last_name')
,因为后来我没有获得save()
上的模型列表,而是元组。
这有什么设置/黑客吗?
答案 0 :(得分:4)
您可以通过覆盖label_from_instance来更改对象表示,label_from_instance是ModelMultipleChoiceField继承的ModelChoiceField类的一部分。
https://docs.djangoproject.com/en/1.3/ref/forms/fields/#django.forms.ModelChoiceField
https://docs.djangoproject.com/en/1.3/ref/forms/fields/#modelmultiplechoicefield
答案 1 :(得分:2)
好像你试图添加jquery选择的选择? 在https://github.com/theatlantic/django-chosen选择了django app django 有可用的字段: - ChosenChoiceField - ChosenModelChoiceField - ChosenMultipleChoiceField - ChosenModelMultipleChoiceField