title: Why is Django creating my TextField as a varchar in the PostgreSQL database?
body: <p>Django 1.7, Python 3.4.</p>
  
  <p>In my models I have several TextFields defined.</p>
  
  <p>When I go to load a JSON fixture (which was generated from an SQLite3 dump), it fails on the second object, which has 515 characters for one of its fields.</p>
  
  <p>The error printed is </p>
  
  <p><code>psycopg2.DataError: value too long for type character varying(500)</code></p>
  
  <p>I created a new database (not just a table drop, a whole new db), modified my settings.py file, ran <code>manage.py syncdb</code> on the new database, created a user, and tried to load the data again, getting the same error.</p>
  
  <p>Upon opening pgAdmin3, all columns, both CharField and TextField defined are listed as type <code>character var</code>.</p>
  
  <p>So it seems TextField is being ignored and CharFields are being created instead.  The PostgreSQL documentation explicitly lists both text and character types, and defines text as being unlimited in length.  Any idea why?</p>