Python 属性错误:';数据库包装器&x27;对象没有属性';数据库';

Python 属性错误:';数据库包装器&x27;对象没有属性';数据库';,python,django,Python,Django,版本号为Django 1.6、Python 3.3.2和Mac OS X 10.9 我使用此命令创建应用程序 python3 manage.py startapp lists 然后在我的lists/tests.py文件中,我把这段代码 from django.test import TestCase class SmokeTest(TestCase): def test_bad_maths(self): self.assertEqual(1 + 1, 3) 然后,我从应用程序

版本号为Django 1.6、Python 3.3.2和Mac OS X 10.9

我使用此命令创建应用程序

 python3 manage.py startapp lists
然后在我的lists/tests.py文件中,我把这段代码

from django.test import TestCase

class SmokeTest(TestCase):

 def test_bad_maths(self):
    self.assertEqual(1 + 1, 3)
然后,我从应用程序根文件夹运行此命令

python3 manage.py test
这是返回的堆栈跟踪,它工作不正常

    E

         ======================================================================
ERROR: test_bad_maths (lists.tests.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 111, in connect
    conn_params = self.get_connection_params()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 85, in get_connection_params
    raise NotImplementedError
NotImplementedError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 653, in supports_transactions
    self.connection.enter_transaction_management()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 288, in enter_transaction_management
    if managed == self.get_autocommit():
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 324, in get_autocommit
    self.ensure_connection()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 86, in __exit__
    db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
AttributeError: 'DatabaseWrapper' object has no attribute 'Database'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 111, in connect
    conn_params = self.get_connection_params()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 85, in get_connection_params
    raise NotImplementedError
NotImplementedError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 178, in __call__
    self._pre_setup()
  File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 749, in _pre_setup
    self._fixture_setup()
  File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 861, in _fixture_setup
    if not connections_support_transactions():
  File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 848, in connections_support_transactions
    for conn in connections.all())
  File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 848, in <genexpr>
    for conn in connections.all())
  File "/usr/local/lib/python3.3/site-packages/django/utils/functional.py", line 49, in __get__
    res = instance.__dict__[self.func.__name__] = self.func(instance)
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 664, in supports_transactions
    self.connection.leave_transaction_management()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 317, in leave_transaction_management
    if managed == self.get_autocommit():
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 324, in get_autocommit
    self.ensure_connection()
  File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 86, in __exit__
    db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
AttributeError: 'DatabaseWrapper' object has no attribute 'Database'

----------------------------------------------------------------------
Ran 0 tests in 0.031s

FAILED (errors=1)
E
======================================================================
错误:测试糟糕的数学(列表、测试、冒烟测试)
----------------------------------------------------------------------
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第124行,确保连接
self.connect()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第111行,在connect中
conn_params=self.get_connection_params()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第85行,在get_connection_参数中
引发未实现的错误
未实现错误
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python3.3/site packages/django/db/backends/_init_u.py”,第653行,在supports_事务中
self.connection.enter_transaction_management()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第288行,输入事务管理
如果托管==self.get\u autocommit():
文件“/usr/local/lib/python3.3/site packages/django/db/backends/_init__.py”,第324行,在get_autocommit中
self.sure_连接()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第124行,确保连接
self.connect()
文件“/usr/local/lib/python3.3/site packages/django/db/utils.py”,第86行,在__
db_exc_type=getattr(self.wrapper.Database,dj_exc_type.\uu name_uuuuu)
AttributeError:“DatabaseWrapper”对象没有属性“Database”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第124行,确保连接
self.connect()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第111行,在connect中
conn_params=self.get_connection_params()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第85行,在get_connection_参数中
引发未实现的错误
未实现错误
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python3.3/site packages/django/test/testcases.py”,第178行,在调用中__
self._pre_setup()
文件“/usr/local/lib/python3.3/site packages/django/test/testcases.py”,第749行,在预设置中
自安装装置安装()
文件“/usr/local/lib/python3.3/site packages/django/test/testcases.py”,第861行,在fixture\u设置中
如果没有连接,\u支持\u事务():
文件“/usr/local/lib/python3.3/site packages/django/test/testcases.py”,第848行,在connections\u support\u事务中
用于连接中的conn。all())
文件“/usr/local/lib/python3.3/site packages/django/test/testcases.py”,第848行,在
用于连接中的conn。all())
文件“/usr/local/lib/python3.3/site packages/django/utils/functional.py”,第49行,在__
res=instance.\uuuuu dict\uuuuu[self.func.\uuuuuu name\uuuuuuu]=self.func(实例)
文件“/usr/local/lib/python3.3/site packages/django/db/backends/_init__.py”,第664行,在supports\u事务中
self.connection.leave\u事务管理()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第317行,在leave_事务管理中
如果托管==self.get\u autocommit():
文件“/usr/local/lib/python3.3/site packages/django/db/backends/_init__.py”,第324行,在get_autocommit中
self.sure_连接()
文件“/usr/local/lib/python3.3/site packages/django/db/backends/__init__.py”,第124行,确保连接
self.connect()
文件“/usr/local/lib/python3.3/site packages/django/db/utils.py”,第86行,在__
db_exc_type=getattr(self.wrapper.Database,dj_exc_type.\uu name_uuuuu)
AttributeError:“DatabaseWrapper”对象没有属性“Database”
----------------------------------------------------------------------
在0.031s内运行了0个测试
失败(错误=1)

我有完全相同的环境: *MacOSX10.9 *Python 3.3.2 *Django 1.6

我已安装virtualenv 1.10.1并创建了一个,安装django并创建了项目和应用程序:

virtualenv-3.3 tt
cd tt
. bin/activate
pip install django==1.6
django-admin.py startproject myproj
cd myproj
chmod +x manage.py
./manage.py startapp lists
现在,我将代码粘贴到list/test.py中,并使用default settings.py(数据库sqlite3等)运行测试

并得到了正确的结果:

正在为别名“default”创建测试数据库

F
======================================================================
FAIL: test_bad_maths (lists.tests.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/erevilla/tt/myproj/lists/tests.py", line 6, in test_bad_maths
    self.assertEqual(1 + 1, 3)
AssertionError: 2 != 3

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)
Destroying test database for alias 'default'...
我无法重现你的问题。请检查:

  • settings.py(您使用的是什么数据库)
  • manage.py(对于不正确的版本)
  • DJANGO_设置_模块未定义

我无法复制这个。在“startapp”之前做过“startproject”吗?我无法复制。你在“startapp”之前做过“startproject”吗?什么是
test\u basic\u addition
?它不在你的代码中。你不应该测试特定的应用程序(
python3 manage.py test list
)?是的,我在startapp之前启动了项目,并尝试了你给我的命令,相同的堆栈跟踪返回,除了错误标题错误:test\u bad\u math(list.tests.SmokeTest)相反,我不知道这是怎么回事,我现在修复了它,我尝试卸载django,完全确保我的mac上没有其他版本,然后重新安装,出现相同的错误,还尝试使用新的django设置VirtualEnvironment,并返回相同的stacktrace,我对它可能是什么感到困惑,我想它需要一些初始化的数据库,但它不需要一个简单的测试,所以已经确认im使用的是django 1.6,您是否对数据使用default settings.py
F
======================================================================
FAIL: test_bad_maths (lists.tests.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/erevilla/tt/myproj/lists/tests.py", line 6, in test_bad_maths
    self.assertEqual(1 + 1, 3)
AssertionError: 2 != 3

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)
Destroying test database for alias 'default'...