O problema é a migração de Process.milestone como um campo booleano para Process.milestone como uma chave estrangeira. O Postgres não espera que uma migração falhe em dados que não podem ser convertidos. Ele quer uma regra para alterar a tabela com antecedência.
Se você não pretende fazer nenhum tipo de migração de dados entre dois campos, a opção mais fácil é simplesmente descartar e adicionar o campo. Neste caso específico, isso significaria alterar as operações da seguinte forma:
operations = [
migrations.RemoveField(
model_name='process',
name='milestone'
),
migrations.AddField(
model_name='process',
name='milestone',
field=models.ForeignKey(to='processes.Milestone'),
),
migrations.AlterModelOptions(
name='process',
options={'ordering': ['milestone', 'sequence'], 'verbose_name_plural': 'processes'},
)
]