Django+MySQL测试数据库表已创建但为空,查询报错
Django测试数据库无法写入数据问题
问题描述
- 执行所有涉及数据库查询的测试用例时,均抛出“matching query does not exist”类型的数据库错误。
- 测试数据库能正常创建表,但无法写入任何数据,原因不明。
- 开发环境使用MySQL数据库完全正常。
已尝试操作
- 大量检索同类问题案例,未找到匹配情况。
- 使用
--keepdb参数执行测试后,确认所有表创建成功,但所有表(包括auth_user)均为空。
临时解决办法
手动向测试表中添加数据后,可正常执行数据库查询类测试用例,但该操作繁琐且无法重复,不具备可持续性。
补充说明
- 定期删除
django_migrations表中的迁移记录及迁移目录,随后执行makemigrations和migrate --fake操作,独立迁移文件0001_initial.py无异常。 - 使用常规数据库配置,未单独定义测试数据库,无镜像设置。
数据库配置代码
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '***', 'USER': '***', 'PASSWORD': '***', 'HOST': 'localhost', 'PORT': '3306', } }
内容的提问来源于stack exchange,提问作者Tsimehcla
相关产品推荐
相关产品推荐

