我想从 TextField 中删除 null=True:
- footer=models.TextField(null=True, blank=True)
+ footer=models.TextField(blank=True, default='')
我创建了一个架构迁移:
manage.py schemamigration fooapp --auto
由于某些页脚列包含
NULL
,如果我运行迁移,我会得到这个 error
:我将此添加到架构迁移中:
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
怎么了?
最佳答案
另一个原因可能是因为您尝试将列设置为 NOT NULL
,而实际上它已经具有 NULL
值。
关于python - Django-DB-Migrations : cannot ALTER TABLE because it has pending trigger events,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12838111/