相关疑难解决方法(0)

如何知道Django中数据库的当前名称?

我正在我的django项目中编写测试.现在,我有两个数据库连接:

(settings.py)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'db_name'
        ...
    },
}
Run Code Online (Sandbox Code Playgroud)

和MongoDB的自定义连接:

import sys
from pymongo import Connection
from pymongo.errors import ConnectionFailure
try:
    connection = Connection(host="localhost", port=27017)
    db = connection['db_name']
    print "Connected successfully(Mongo, db_name)"
except ConnectionFailure, e:
    sys.stderr.write("Could not connect to MongoDB: %s" % e)
    sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

我想知道我的项目何时开始运行

python manage.py test myapp
Run Code Online (Sandbox Code Playgroud)

因为当您运行测试时,django会自动创建单独的DB(名称类似于test_db_name),但在这种情况下,Mongo仍将使用db_name运行.我试过了:

import sys
from pymongo import Connection
from pymongo.errors import ConnectionFailure
from django.db import connections

try:
    connection = Connection(host="localhost", port=27017)
    db_name = …
Run Code Online (Sandbox Code Playgroud)

python django unit-testing

33
推荐指数
5
解决办法
3万
查看次数

标签 统计

django ×1

python ×1

unit-testing ×1