Поля Django ModelMultipleChoiceField для отображения из набора запросов - PullRequest
1 голос
/ 25 января 2012

У меня есть ModelForm с ModelMultipleChoiceField.

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(), но кортежи.

Есть ли какие-либо настройки / хак для этого?

Ответы [ 2 ]

4 голосов
/ 25 января 2012

Вы можете изменить представление объекта, переопределив label_from_instance, который является частью класса ModelChoiceField, который наследует ModelMultipleChoiceField.

https://docs.djangoproject.com/en/1.3/ref/forms/fields/#django.forms.ModelChoiceField

https://docs.djangoproject.com/en/1.3/ref/forms/fields/#modelmultiplechoicefield

2 голосов
/ 25 января 2012

Похоже, вы пытаетесь добавить JQuery-выбранные выборки?Приложение django выбрано django в https://github.com/theatlantic/django-chosen. Доступны поля: - ChosenChoiceField - ChosenModelChoiceField - ChosenMultipleChoiceField - ChosenModelMultipleChoiceField

...