Хорошо, вот вопрос.
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('team', 'related_projects')
В models.py
User
класс определяется следующим образом:
class User (models.Model):
team = models.ForeignKey(Team, verbose_name = _('team'))
related_projects = models.ManyToManyField(Project, blank = True)
Оба team
и related_projects
представляются как выпадающее поле. Значения являются всеми существующими командами в системе и всеми существующими проектами в системе. Все в порядке, но им только заказывает первичный ключ, и я хотел бы видеть их заказанный в алфавитном порядке. Где я должен указать упорядочивание для значений в выпадающем списке?
Вам нужно будет указать переопределение для поля team
, а затем вы сможете переопределить порядок с его аргументом queryset
. Здесь я предполагаю, что свойство в Team
, по которому вы хотите выполнить сортировку, - это name
.
class UserForm(forms.ModelForm):
team = forms.ModelChoiceField(queryset=Team.objects.order_by('name'))
class Meta:
model = User
fields = ('team', 'related_projects')
Подробнее о ModelChoiceField можно прочитать здесь: http://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield