トリガイベントを保留しているため、表を変更することはできません。いくつかのフッターの列が含まれているため南:それは私は、TextFieldから真= nullを削除したい
manage.py schemamigration fooapp --auto
:私はスキーマの移行を作成し
- footer=models.TextField(null=True, blank=True)
+ footer=models.TextField(blank=True, default='')
NULL私は、マイグレーションを実行する場合、私はこのエラーを取得する:
django.db.utils.IntegrityError: column "footer" contains null values
私はスキーマの移行にこれを追加しました:
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
何が悪いのでしょうか?
この質問は似ています:http://stackoverflow.com/questions/28429933/django-migrations-using-runpython-to-commit-changesそして私にとってより有用な答えがありました。 – SpoonMeiser