title: Change django form value
body: <p>I have changed a ForeignKey in a model form, to use a TextBox instead.
  Then I override clean method to return the object based on the name field (instead id field)</p>
  
  <p>class SongForm(forms.ModelForm):<br>
      artist = forms.CharField(widget=forms.TextInput())</p>
  
  <pre><code>def clean_artist(self):
      data = self.cleaned_data['artist']
      artist = Artist.objects.get(name=data)
      self.cleaned_data['artist_id'] = artist.id
      return artist
  
  class Meta:
      model = Song
  </code></pre>
  
  <p>It saves the form correctly, how ever when it renders again appears the id value instead the name value. How may I change the display values of a django form? I think overriding <strong>init</strong> will do it, but can't find where is the value property</p>