@IvanOne

Сортировка queryset?

Есть форма ModelForm, с полем ModelChoiceField(queryset=Country.objects.all().order_by("name")) Производится выборка стран в select, нужно элемент Россия переставить в самое начало списка option, но при этом сохранить сортировку, можно ли это сделать в форме? или лучше через js?
  • Вопрос задан
  • 656 просмотров
Решения вопроса 1
sim3x
@sim3x
stackoverflow.com/questions/1336900/django-modelch...

class YourForm(forms.Form):
    field1 = forms.ModelChoiceField(queryset = MyModel.objects.all() )

form = YourForm(initial = {'field1': instance_of_mymodel.pk })

или что-то наподобии
queryset=[
    Country.objects.filter(name="Russia"), 
    Country.objects.exclude(name="Russia").order_by("name")]


код не тестировал
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Gasoid
@Gasoid
добавить надо еще поле в модель country, например
class Country(models.Model):
...
sort = models.IntegerField(default=4000)

ну и России присвоить 1, и сортировать по двум полям sort, name
можно и через js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы