title: preserve data while making changes to fields of model in django
body: <p>I have two models which are Contact and UpdateInfo. Update model is a foreignkey relationship with Contact like below:</p>
  <pre><code>class Contacts(models.Model):
      full_name = models.CharField(max_length=100, blank=True)
      notes = RichTextField(blank=True)
      /............./
  
  class UpdateInfo(models.Model):
      contacts = models.ForeignKey(Contacts,on_delete=models.CASCADE, related_name='update_info')
      updated_at = models.DateTimeField(auto_now=True)
      modified_by = models.CharField(max_length=100, blank=True)
  </code></pre>
  <p>Now what I need is to put the <code>notes</code> field into UpdateInfo model and remove from Contacts model. Because now the businees requirement has changed and what they need is they need to add notes in the existing notes and want to see them who added the notes and when they added it with the notes appended.</p>
  <p>But the problem is if I remove the notes field from Contacts and add it to Updateinfo model , there are many data into the production and the notes field data will be lost.</p>
  <p>Now how can we run migrate in such a way that I add notes field into the Updatinfo model and also migrating the data at the same time.?? Is this what is done by dev ops or we should do it?? Because usually dev ops are migrating the data to the production server from staging area.</p>
  <p>I need expert opinion on this.</p>