微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。