每次迁移都在事务内部。在Postgresql中,你不得在一个事务中更新表然后更改表模式。
你需要拆分数据迁移和架构迁移。首先使用以下代码创建数据迁移:
for sender in orm['fooapp.EmailSender'].objects.filter(footer=None):
sender.footer=''
sender.save()
然后创建架构迁移:
manage.py schemamigration fooapp --auto
现在,你有两个事务,并且应该在两个步骤中进行迁移。
造成这种情况的另一个原因可能是因为您尝试将一列设置为NOT NULL实际上已经具有NULL值的时间。