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?