如何在Django中按字母顺序对下拉列表进行排序

时间:2019-04-03 11:14:33

标签: python html django

我正在尝试按字母顺序对表单字段中的下拉值进行排序

下拉列表字段=策略

我尝试使用.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 :(得分:0)

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')

也可以尝试一下,您可以查看this这样的答案,这可能有助于您理解。

答案 1 :(得分:0)

您可以在模型Meta类上订购

但是正如您的错误所言,您正在使用同一块中的TAB和SPACE缩进代码。

在ide上启用选项卡和空格可视化并进行修复。基本上,您必须在制表符或空格之间进行选择。

缩进的Python(和其他语言)通常会抱怨。