Py学习  »  Django

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

DannyMoshe • 4 年前 • 312 次点击  

我使用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
 
312 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dre Ross
Reply   •   1 楼
Dre Ross    5 年前

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

python manage.py创建超级用户

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

管理.py

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

裁判: python superuser doc