Как мне использовать django.forms для предварительного заполнения поля выбора строками из модели?

У меня есть ChoiceField в классе формы, предположительно список пользователей. Как мне предварительно заполнить это списком пользователей из моей модели User?

Теперь у меня есть:

class MatchForm(forms.Form):

  choices = []

  user1_auto = forms.CharField()
  user1 = forms.ChoiceField(choices=choices)
  user2_auto = forms.CharField()
  user2 = forms.ChoiceField(choices=choices)

  def __init__(self):
      user_choices = User.objects.all()
      for choice in user_choices:
          self.choices.append(
              (choice.id, choice.get_full_name())
          )

Кажется, это не работает (иначе меня бы здесь не было). Мысли?

Чтобы уточнить, когда я пытаюсь отобразить эту форму в шаблоне, она просто ничего не выводит, если я не удалю ChoiceFields и метод __ init __ () .

Кроме того, что, если я только хотите список полных имен пользователей в моем поле? То есть я хотел бы управлять отображением вывода каждого пользовательского объекта (поэтому ModelChoiceField на самом деле не вариант).

6
задан Sri Raghavan 4 January 2011 в 17:42
поделиться