Как отсортировать выпадающие списки в алфавитном порядке в Django - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь отсортировать выпадающие значения в поле формы в алфавитном порядке

Раскрывающееся поле = стратегия

Я пытался использовать .order_by, чтобы решить эту ошибку, но она как-то не решает ее

Ниже приведен код, который я пробовал

class AddForm(forms.ModelForm):

  class Meta:
    model = Line
    fields = ('analyst','strategy','conviction','startdate','startvalue','target','review','reason','rationale')
  def __init__(self, *args, **kwargs):
      self.user = kwargs.pop('user', None)
      super(AddForm, self).__init__(*args, **kwargs)
      self.fields['Strategy'].queryset = strategy.objects.order_by('name')

Я получаю ошибку отступа, и сервер перестает работать ... Я также пытался использовать

strategy = forms.ModelChoiceField(queryset=strategy.objects.order_by('name'))

Не сработало !, где я иду не так?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Вы можете заказать на своей модели Meta class

Но, как говорит ваша ошибка, вы делаете отступ для кода с помощью табуляции и пробелов в одном блоке.

Включите вкладки ивизуализация пространства на ваш иде и исправить это.В основном вам нужно выбирать между табуляцией или блоком пробелов.

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

0 голосов
/ 03 апреля 2019
class AddForm(forms.ModelForm):

  class Meta:
    model = Line
    fields = ['analyst','strategy','conviction','startdate','startvalue','target','review','reason','rationale']
  def __init__(self, *args, **kwargs):
      super(AddForm, self).__init__(*args, **kwargs)
      self.user = kwargs.pop('user', None)
      self.fields['strategy'].queryset = self.fields['strategy'].queryset.order_by('name')

Попробуйте также, вы можете взглянуть на этот ТАК ответ, который может быть полезным для понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...