title: Migrating TextField() to JSONField()
body: <p>I used to have a <code>TextField(blank=True, default='')</code> in my model. Due some changes in the requirements of the project, it now become a better idea to have a dict stored, something like this:</p>
  
  <pre><code>instructions {
      wait_time: {
          active: True
          message: 'This is a standard message'
      }
  }
  </code></pre>
  
  <p>So I changed it to a JSONField: <code>JSONField(blank=True, null=True)</code>. Did the changes in the serializers, and it passed on on the test for that specific field.  When I tried to run the rest of the suit, I got this error:</p>
  
  <pre><code>AssertionError: {u'non_field_errors': [u'null value in column "instructions" violates not-null constraint\n
  </code></pre>
  
  <p>Which makes a lot of sense, since the TextField was set <code>null=False</code>. This field should now accept null values. I imagined that <code>makemigrations</code> and <code>migrate</code> would do the job.</p>
  
  <pre><code>django.db.utils.DataError: invalid input syntax for type json
  DETAIL:  The input string ended unexpectedly.
  CONTEXT:  JSON data, line 1:
  </code></pre>
  
  <p>My first idea was regarding the default value set for the TextField() before. To test it, I reverted the migration to the moment before its creation, delete the new migrations, 'mademigrations' and ran the tests. For some weird reasons, I still got: 'violates not-null constraint' error. This lead me to think the problem is not in the in the TextField() set as null=False before. If that's the case, those two problems might be unrelated to each other. Either way, I'm clueless on how to proceed.</p>