2015-05-04 98 views
0

我試圖在django中放置在測試文件夾中的測試。以下是輸出。Django測試錯誤AttributeError:'元組'對象沒有屬性'setdefault'

python manage.py test 
Traceback (most recent call last): 
File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line utility.execute() 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management __init__.py", line 272, in fetch_command klass = load_command_class(app_name,subcommand) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 75, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) 
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py",line 40, in import_module __import__(name) 
File "/usr/local/lib/python2.7/dist-packages/south/management/commands __init__.py", line 10, in <module> import django.template.loaders.app_directories 
File "/usr/local/lib/python2.7/dist-packages/django/template/loaders /app_directories.py", line 23, in <module> mod = import_module(app) 
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module __import__(name) 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/__init__.py", line 6, in <module> from django.contrib.admin.sites import AdminSite, site 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py", line 4, in <module> from django.contrib.admin.forms import AdminAuthenticationForm 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/forms.py", line 6, in <module> from django.contrib.auth.forms import AuthenticationForm 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/forms.py", line 17, in <module> from django.contrib.auth.models import User 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/models.py", line 48, in <module> class Permission(models.Model): 
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 96, in __new__new_class.add_to_class('_meta', Options(meta, **kwargs)) 
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 264, in add_to_class value.contribute_to_class(cls, name) 
File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", line 124, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) 
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 34, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) 
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 196, in __getitem__self.ensure_defaults(alias) 
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 174, in ensure_defaults conn.setdefault('ATOMIC_REQUESTS', False) 
AttributeError: 'tuple' object has no attribute 'setdefault' 

有人能幫助我嗎? 我試着通過檢查環境來解決問題,我認爲它是正確的。測試在生產環境中運行良好,具有相同的環境。

數據庫設置:

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2' 
    'NAME': 'projectx',   
    'USER': 'xyz', 
    'PASSWORD': 'xyz', 
    'HOST': '127.0.0.1', 
    'PORT': '',   
} 
} 
if 'test' in sys.argv: 
DATABASES['default'] = { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'test_project', 
    'USER': 'xyz', 
    'PASSWORD': 'xyz', 
    'HOST': '127.0.0.1', 
    'PORT': '',   
}, 
+0

這是完整的錯誤嗎? – rnevius

+0

@rnevius是的,這是我得到的完整錯誤 –

+0

請顯示您的數據庫設置。 –

回答

0

你有你的測試數據庫字典,它把它變成一個單項元組結束後流浪逗號。刪除最後的逗號。

相關問題