Django migrations - change model from Int to CharField and pre-populate from choice option
<p>In a model, I have an <code>IntegerField</code> that is mapped to a <code>CHOICES</code> tuple.  The requirements for that field have changed to the point that updating the options in that tuple will require too frequent maintenance, so I've decided to alter it to a <code>CharField</code></p>

<p>Is there a way I can do this inside the migrations, or would it be better to create a new column, update with the appropriate value and delete old column?</p>

<p>To make it more clear, you need 3 migrations.</p>

<ol>
<li>for Schema migration - adding a new field.</li>
<li>for Data migration - You can use the link below which is perfect example for data migration.</li>
<li>for Schema migration - deleting the old field.</li>
</ol>

<p>Here is the example I've followed before doing my first data migrations.</p>

<p><a href="https://realpython.com/blog/python/data-migrations/" rel="nofollow">Data Migration Example</a></p>

python django django-migrations