title: Django liking system suggestions?
body: <p>I'm doing a social networking app, in which users can will posts and 'like' them. My current liking system works like this:</p>
  
  <ul>
  <li>Every post has a <strong>models.CharField</strong> called <em>user_vote</em> wil a max_length of 65596</li>
  <li><p>When a user presses 'like' button (If the post wasn't liked before), their user_id will be added to <em>user_vote</em> (string appending) like this: </p>
  
  <pre><code>story.user_vote += str(current_user) + ' '
  </code></pre></li>
  <li><p>The system check that if the user's id is already in the post's <em>user_vote</em> by splitting <em>user_vote</em> string into a list and check if the user's id is already there:</p>
  
  <pre><code>voted = str(current_user) in story.user_vote.split()
  if story and voted == False:
      points = story.points + 1
      story.points = points # Add points
      story.user_vote += str(current_user) + ' '
      story.save()
  </code></pre></li>
  </ul>
  
  <p>The system works fine, but I think it's not so well-designed.
  Do you guys have any suggestions?</p>