title: How can a ChoiceField.choices callable know what choices to return?
body: <p>In Django 1.8, the <code>ChoiceField</code>'s <code>choices</code> argument can accept a callable:</p>
  
  <pre><code>def get_choices():
      return [(1, "one"), (2, "two")]
  
  class MyForm(forms.Form):
      my_choice_field = forms.ChoiceField(choices=get_choices)
  </code></pre>
  
  <p>In the above example, <code>get_choices()</code> always returns the same choices. However, being able to assign a callable to <code>choices</code> does not make much sense unless that callable knows something like, say, an object id, each time it is called. How can I pass such a thing to it?</p>