У меня есть модель Django ModelForm, которая предоставляет поле множественного выбора, соответствующее соотношению «многие ко многим», с помощью модели, которая содержит order
выбора (список документов) в качестве дополнительного атрибута , В интерфейсе поле отображается в виде двух полей с несколькими полями, аналогичных тому, что указано в админах, один для отображения доступных вариантов, а другой содержит выбранные элементы.Django MultipleChoiceField не сохраняет порядок выбранных значений
Форма может быть сохранена с правильным выбором элементов, но они всегда соответствуют порядку выбора, а не выбору. Браузер отправляет выбор в правильном порядке, но заказ в form.cleaned_data['documents']
- это всегда заказ в оригинальном порядке выбора.
Как я могу заставить MultipleChoiceField соблюдать порядок выбранных элементов?
Спасибо.
Если ManyToMany отношение возвращается на сервере с правильной сортировкой (через сквозную модель), то почему бы не прибегнуть его, используя подход, аналогичный [ этот вопрос] (http://stackoverflow.com/questions/3893955/django-manytomanyfield-ordering-using-through) –
Спасибо за комментарий. Я хочу упорядочить элементы в порядке выбора при создании отношения на стороне сервера. Но 'cleaned_data ['documents']' не отражает порядок выбора в поле select multiple. Я могу переупорядочить использование идентификаторов в 'request.GET.getlist ('documents')', но чувствует себя взломанным. – omat