Ответ 1
Существует несколько способов:
Вы можете переопределить порядок запросов на основе каждой формы, задать опцию метакласса заказа или переопределить выборки диспетчера диспетчера моделей с помощью метода упорядочения.
Завершить набор запросов диспетчера моделей моделей
class IndustryManager(models.Manager):
def get_query_set(self):
return (
super(IndustryManager, self)
.get_query_set()
.order_by('name')
)
class Industry(models.Model):
name = models.CharField(max_length=128)
objects = IndustryManager()
Указать глобальное упорядочение метаданных
class Industry(models.Model):
name = models.CharField(max_length=128)
class Meta:
ordering = ['name']
Порядок сортировки по форме
class MyForm(forms.ModelForm):
class Meta:
model = Business
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['industry'].queryset = Industry.objects.order_by('name')
Также есть ярлык с именем formfield_for_manytomany, если вы имеете дело с администратором django.