title: What is the proper way to structure models.py?
body: <p>I'm trying to build the right models for my Django app. I'm trying to build something that will allow  a user to save a URL into one (or more) playlist(s) that is tied to that user.  Before I implement this, I want to make sure that this is the best way to structure my models.py.</p>
  
  <pre><code>class UserProfile(models.Model):
      user = models.ForeignKey(User, primary_key=True)    #what is the difference between ForeignKey and OneToOne?  Which one should I use?
      Playlist = models.CharField('Playlist', max_length = 2000)  #1 user should be able to have multiple playlists and the default playlist should be "Favorites"
      def __unicode__(self):
          return self.User
  
  class Videos(models.Model):
      Video_url = models.URLField('Link to video', max_length = 200, null=True, blank=True)
      Playlist = models.ManyToManyField(Playlist) #this should connect to the playlists a user has.  A user should be able to save any video to any plalist, so perhaps this should be ManyToMany?
      def __unicode__(self):
          return self.Video_url
  </code></pre>