django.db.utils.ProgrammingError:运行测试时不存在关系“web_workspace”

问题描述

我正在我的一个 django(Django==3.1.6) 项目中编写测试。在编写和测试了大约 10 个测试之后,今天当我运行 python manage.py test 时出现错误 relation "web_workspace" does not exist,导致测试中止。

但是,在运行项目时,即 python manage.py runserver 我的项目运行完美。


这是我正在运行测试的完整回溯的屏幕截图

enter image description here


我已经删除了所有测试用例,只保留了一个,只是为了让这个问题的事情最少,但我仍然收到这个错误。这是我正在使用的 API 的测试代码

from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase


def confirm_success_response(self,response,expected_response,match_values=False):
    self.assertEqual(response.status_code,status.HTTP_200_OK)
    self.assertisinstance(response.data,dict)
    self.assertEqual(set(response.data.keys()),set(expected_response.keys()))
    if match_values:
        self.assertEqual(response.data,expected_response)


class APItests(APITestCase):
    # pre and post test methods
    def setUp(self):
        pass

    def tearDown(self):
        pass


    # methods for tests internal use


    # Actual API test methods
    def test_dummy_api(self):
        url = reverse('test')
        response = self.client.get(url,None,format='json')
        expected_response = {'success':True,'message': "Api passed test"}
        confirm_success_response(self,True)

我已经尝试过但没有奏效的事情:

  1. 删除迁移目录并重新创建迁移和迁移
  2. python manage.py makemigrations <app_name> 身份运行特定于应用的迁移,然后迁移应用迁移。
  3. 同步数据库python manage.py migrate --run-syncdb

期待这里的解决方案,提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)