title: Why are migrations files often excluded from code formatting?
body: <p>We're applying Black code style to a django project.</p>
  
  <p>In all the tutorials / examples I find (such as <a href="https://cookiecutter-django.readthedocs.io/en/latest/linters.html" rel="noreferrer">in django cookiecutter</a> and <a href="https://eldarion.com/blog/2017/10/17/how-we-maintain-high-levels-code-quality/" rel="noreferrer">this blog</a>), I keep seeing django's migrations files excluded from the linter.</p>
  
  <p>But to my mind, these are still python files. Sure, django may not autogenerate them to meet the Black spec. But it's not like developers always write their code to meet Black spec... that's what linting is for!</p>
  
  <p>Why would migration files be considered different to any other python files?!</p>
  
  <p>NB I'm aware of the possibility of changing an already-applied migration if you've got pre-existing migrations - this requires care on first application (as does first application to the rest of the codebase, frankly) but surely isn't a reason not to do it?</p>
  
  <p><strong>EDIT - @torxed asked for an example of a django migration file</strong></p>
  
  <p>I'm not sure how helpful this'll be tbh, but a typical django migration file might look like this (in this case adding a char field to a table):</p>
  
  <pre><code># Generated by Django 2.2.3 on 2019-10-28 09:45
  
  from django.db import migrations, models
  
  
  class Migration(migrations.Migration):
  
      dependencies = [
          ('api', '0009_figures_notes_tables'),
      ]
  
      operations = [
          migrations.AlterField(
              model_name='project',
              name='processed_kmz_sha',
              field=models.CharField(max_length=255),
          ),
      ]
  </code></pre>