Изменение порядка раскрывающегося списка на Modelform в Django - PullRequest
0 голосов
/ 08 декабря 2018

Я использую таблицу статуса с 3 статусами, используемыми для отчетов.Каждый отчет проходит 3 этапа (не числовых), но теперь я должен реализовать новый этап, который должен быть между этапами 2 и 3 в более ранней последовательности.Таблица состояния имеет только 2 столбца: status_id (pk) и тип

Проблема, которую я получил, заключается в том, что при отображении раскрывающегося списка (в modelForm) значения отображаются отсортированными по первичному ключу.

Что является лучшим решением для этого?

ps Чувствовать себя глупо, чтобы изменить "тип" в базе данных, чтобы сделать его правильным

1 Ответ

0 голосов
/ 08 декабря 2018

Как насчет добавления дополнительного поля, скажем custom_order к модели состояния, а затем переопределить метод init () определения ModelForm, чтобы изменить набор запросов этого поля, например,

class MyModelForm(forms.ModelForm):
    [...]
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        self.fileds['type'].queryset=Status.objects.all().order_by('custom_order')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...