title: How would I use django.forms to prepopulate a choice field with rows from a model?
body: <p>I have a ChoiceField in my form class, presumably a list of users. How do I prepopulate this with a list of users from my User model?</p>
  
  <p>What I have now is:</p>
  
  <pre><code>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())
            )
  </code></pre>
  
  <p>This doesn't seem to work (otherwise I wouldn't be here). Thoughts?</p>
  
  <p>To clarify, when I attempt to render this form in a template, it simply outputs nothing, unless I remove the ChoiceFields and <code>__init__()</code> method.</p>
  
  <p>Also, what if I only want a list of the users' full names in my field? That is, I'd like to control the display output of each user object (so <code>ModelChoiceField</code> isn't really an option). </p>