django-pagetreeライブラリに Django 2.0 サポートを追加する作業を行っています。sqlite インメモリ データベースを使用した自動テスト中に、次のような一連のエラーが発生します。
File "/home/nnyby/src/django-pagetree/pagetree/tests/test_models.py", line 638, in setUp
'children': [],
File "/home/nnyby/src/django-pagetree/pagetree/models.py", line 586, in add_child_section_from_dict
...
File "/home/nnyby/src/django-pagetree/venv/lib/python3.5/site-packages/django/db/backends/base/base.py", line 239, in _commit
return self.connection.commit()
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
これは Django 2.0 リリース ノートに記載されています: https://docs.djangoproject.com/en/2.0/releases/2.0/#foreign-key-constraints-are-now-enabled-on-sqlite
私が完全に理解していないその説明から、これは永続的ではないテストデータベースには適用されませんよね? Django 2.0 を使用している場合、適切なオプションで sqlite テスト データベースが作成されませんか?
テストに使用しているアプリの設定は次のとおりです: https://github.com/ccnmtl/django-pagetree/blob/master/runtests.py