我正在尝试按字母顺序对表单字段中的下拉值进行排序
下拉列表是字段 = 策略
我尝试使用.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'))
没用!,我哪里出错了?
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')
试试这个,你也可以看看这个SO答案,这可能有助于理解。
您可以在模型Meta
类上订购
但正如您的错误所说,您在同一块中使用 TAB 和空格缩进您的代码。
在 ide 上启用选项卡和空格可视化并修复此问题。基本上,您必须在制表符或空格块之间进行选择。
缩进的Python(和其他语言)通常会抱怨如果你这样做。