最佳答案
我想从 TextField 中移除 null = True:
- footer=models.TextField(null=True, blank=True)
+ footer=models.TextField(blank=True, default='')
我创造了一个模式迁移:
manage.py schemamigration fooapp --auto
因为有些页脚列包含 NULL
,所以如果我运行迁移,就会得到这个 error
:
IntegrityError: 列“ footer”包含空值
我在模式迁移中加入了以下内容:
for sender in orm['fooapp.EmailSender'].objects.filter(footer=None):
sender.footer=''
sender.save()
现在我明白了:
django.db.utils.DatabaseError: cannot ALTER TABLE "fooapp_emailsender" because it has pending trigger events
怎么了?