title: Is there anyway to create unique TextField in django with mysql db backend?
body: <p>I create a model for multiple choice question. Each question has 5 choice
  of answers. And I need each question object to be unique based on it's
  question and answers. And so, I design the model like this.</p>
  
  <pre><code>from django.db import models
  
  
  class MultipleChoiceQuestion(models.Model):
      ANSWERS = [('a', 'a'), ('b', 'b'), ('c', 'c'), ('d', 'd'), ('e', 'e')]
      question = models.TextField()
      a = models.TextField()
      b = models.TextField()
      c = models.TextField()
      d = models.TextField()
      e = models.TextField()
      true_answer = models.CharField(max_length=1, choices=ANSWERS)
  
      class Meta:
          unique_together = [('question', 'a', 'b', 'c', 'd', 'e')]
  </code></pre>
  
  <p>When I run <code>migrate</code>, mysql give this error:</p>
  
  <blockquote>
    <p>1170, "BLOB/TEXT column 'question' used in key specification
    without a key length"</p>
  </blockquote>
  
  <p>I found this error has been discussed <a href="https://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length">here</a>. But, I can't use
  <code>CharField</code> with it's small limit, because I need to store long text
  (until 10000 char or more).</p>
  
  <p>sqlite3 and postgresql can do this (i mean django didn't complain about
  key specification for <code>TEXT</code>).</p>
  
  <p>The reason I need to use mysql because the server where I will deploy this
  django app is only provide mysql, no postgresql.</p>
  
  <p>So, is there anyway I could achieve this?</p>