title: ManyToManyRawIdWidget with captions
body: <p>I'm trying to create a custom widget which displays a comma separated list of manytomanyfield values. I know that there's a ManyToManyRawIdWidget, which list the ids, but what I want to achieve, is rather display the caption. And I would like to make it editable, example if I put a new keyword to the list, when I save it, it's automatically added.</p>
  
  <p>the details:
  My model looks like:</p>
  
  <pre><code>class KeyWord(models.Model):
    name = models.CharField(max_length=30)
    def __unicode__(self):
      return self.name
  
  class Book(models.Model):
    keyword = models.ManyToManyField(KeyWord)
  </code></pre>
  
  <p>I found "Display user-friendly values of a ManyToManyRawIdWidget" on <a href="http://djangosnippets.org/snippets/2108/" rel="nofollow">djangosnippets</a>, which do it, but displays it as a label.</p>
  
  <p>Maybe I overcomplicate things, I just want to assign comma separated keywords to a model, if there's a more professional way of doing this, please tell me.  </p>