title: Should I use ArrayField or ManyToManyField for tags
body: <p>I am trying to add tags to a model for a postgres db in django and I found two solutions:</p>
  
  <p>using foreign keys:</p>
  
  <pre><code>class Post(models.Model):
      tags = models.ManyToManyField('tags')
      ...
  
  class Tag(models.Model):
      name = models.CharField(max_length=140)
  </code></pre>
  
  <p>using array field:</p>
  
  <pre><code>from django.contrib.postgres.fields import ArrayField
  
  class Post(models.Model):
      tags = ArrayField(models.CharField(max_length=140))
      ...
  </code></pre>
  
  <p>assuming that I don't care about supporting other database-backends in my code, what is a recommended solution ?</p>