Отображение определенного поля в форме Django - PullRequest
1 голос
/ 03 октября 2011

У меня есть следующее поле в форме django:

position = forms.ModelChoiceField(Position.objects.order_by('-ordering'),
                                    empty_label='Select Position',)

В моей модели Position я использую поле unicode, чтобы отобразить поле с именем "position".Однако в этой конкретной форме я хочу, чтобы выходные данные были другим полем в модели, называемой «выбор позиции».Как бы я сделал это без без изменения вывода по умолчанию поля unicode?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 октября 2011

Вот что сработало:

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 голос
/ 03 октября 2011

Попробуйте "создать подклассы ModelChoiceField и переопределить label_from_instance", например, в https://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield.. Вы можете указать ссылку на функцию __unicode__ вашего другого поля в этом переопределенном классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...