Vấn đề là việc di chuyển từ Process.milestone dưới dạng trường boolean sang Process.milestone làm khóa ngoại. Postgres không đợi quá trình di chuyển không thành công trên dữ liệu không thể đọc được. Nó muốn một quy tắc để thay đổi bảng trước.
Nếu bạn không có ý định di chuyển dữ liệu giữa hai trường, thì tùy chọn đơn giản nhất là chỉ cần thả và thêm trường. Trong trường hợp cụ thể này, điều đó có nghĩa là thay đổi các hoạt động như sau:
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'},
)
]