社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

如何对postgre数据库运行Django单元测试

DannyMoshe • 4 年前 • 322 次点击  

我使用coverage.py和django nose运行单元测试。使用“默认”sqlite数据库时一切正常。然而,当我把它换成postgre数据库时,我得到了以下错误:

django.db.utils.ProgrammingError:关系“authentication_user”不存在

在test_settings.py中:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'HOST': 'localhost',
            'PORT': 5432,
            'NAME': 'testing_db',
            'USER': 'user_name',
            'PASSWORD': 'password'
        }
}

用于运行测试的命令(位于“tests”文件夹中):

coverage run manage.py test tests

奇怪的是如果我管理一个人 TestCase 如下所示,测试运行正常(仅在运行测试集合时出错):

coverage run manage.py test tests.test_something

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55416
 
322 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dre Ross
Reply   •   1 楼
Dre Ross    5 年前

在完成项目设置之后,为了转到管理页,必须执行以下命令:

python manage.py创建超级用户

由于您将数据库切换到postgres,因此应该从项目根文件夹运行该命令,以便使用

管理.py

编写脚本,并生成新的超级用户。 告诉我事情的经过。

裁判: python superuser doc