How do I specify an index for a TextField in Django with a MySql backend?

django, django-models, mysql

Solution

The answer is to specify the field as a `CharField`, not a `TextField`.

class Info(models.Model):
    information = models.CharField(max_length = 32, null = True, db_index = True)

Problem

I've got a model defined in Django that looks (in part) like this: ``` class Info(models.Model): information = models.TextField(max_length = 32, null = True, db_index = True) ``` However, when I try `syncdb` with a MySql backend, I get `Failed to install index for app.Info model: (1170, "BLOB/TEXT column 'information' used in key specification without a key length")` How can I fix this?

Original source

Related problems