我正在努力将 Django 2.0 支持添加到django-pagetree库。在自动化测试期间,使用 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