Django формы: кверисет и пользовательские варианты выбора в ModelChoiceField

Я пытаюсь создать поле выбора в форме, где пользователь будет выбирать расположение элемента в списке. В форме пользователь выбирает один из существующих элементов и помещает новый элемент перед ним или пустую_метку, которая помещает элемент в конец списка.

Хотелось бы поместить метку empty_label как последний выбор в списке вариантов. Другой вариант - скрыть метку empty_label (empty_label=None) и добавить выбор после кверисета с меткой 'Add to the end of the list'. Я не могу заставить работать ни один из этих вариантов

Вот код для формы.

class NewItem(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(NewItem, self).__init__(*args, **kwargs)

    addbefore = ModelChoiceField(
        queryset=Items.objects.all().order_by('order'),
        empty_label='Add to the end of the list',
        label="Item location in the list / before item:",
        )

    class Meta:
        model = Item
        fields = [
            'name',
            'description',
            'addbefore',
        ]

Таким образом, я получаю выбор, где "Добавить в конец списка" является первым выбором, что не логично. Есть ли способ поместить empty_label в конец выбора или добавить пользовательский выбор после queryset?

Вернуться на верх