我的模型中有一个多对多字段,并且我正在使用Select2MultipleWidget来搜索输入值,但是选择之后,这些值将按照看起来的字母顺序进行排序。
我已经尝试将ModelMultipleChoiceField更改为OrderedModelMultipleChoiceField(like in this post),但这无济于事:
class OrderedModelMultipleChoiceField(ModelMultipleChoiceField):
def clean(self, value):
qs = super(OrderedModelMultipleChoiceField, self).clean(value)
return sorted(qs, lambda a,b: sorted(qs, key=lambda x:value.index(x.pk)))
和
authors = OrderedModelMultipleChoiceField(queryset=UserProfile.objects.all(), widget=Select2MultipleWidget)
我怎样才能让他们保持输入的顺序?