ここに提示された同様のクエリ: Getting db_type() error while using django-facebook connect for DjangoApp
次の詳細を使用して、Pootle を CentOS ボックスにインストールしようとしています。
[root@localhost pootle]# cat /etc/redhat-release<br>
CentOS release 6.2 (Final)
<br>
[root@localhost pootle]# PootleServer --version<br>
Pootle 2.1.6<br>
Translate Toolkit 1.9.0<br>
Django 1.4<br>
[root@localhost pootle]# python -V<br>
Python 2.6.6
次のエラーが発生しました。
Creating tables ...
Traceback (most recent call last):
File "/usr/lib64/python2.6/wsgiref/handlers.py", line 94, in run
self.finish_response()
File "/usr/lib64/python2.6/wsgiref/handlers.py", line 134, in finish_response
for data in self.result:
File "/usr/lib/python2.6/site-packages/django/http/__init__.py", line 710, in next
chunk = self._iterator.next()
File "/usr/lib/python2.6/site-packages/pootle_misc/dbinit.py", line 134, in staggered_install
yield syncdb()
File "/usr/lib/python2.6/site-packages/pootle_misc/dbinit.py", line 76, in syncdb
call_command('syncdb', interactive=False)
File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 150, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/usr/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 91, in handle_noargs
sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
File "/usr/lib/python2.6/site-packages/django/db/backends/creation.py", line 44, in sql_create_model
col_type = f.db_type(connection=self.connection)
TypeError: db_type() got an unexpected keyword argument 'connection'
/usr/lib/python2.6/site-packages/django/db/backends/creation.pyを編集して、問題が解決すると思われる方法で編集した後も、試してみると、PootleServer 画面から次の出力が表示されます。ウェブページをロードするには:
Creating tables ...
Traceback (most recent call last):
File "/usr/lib64/python2.6/wsgiref/handlers.py", line 94, in run
self.finish_response()
File "/usr/lib64/python2.6/wsgiref/handlers.py", line 134, in finish_response
for data in self.result:
File "/usr/lib/python2.6/site-packages/django/http/__init__.py", line 710, in next
chunk = self._iterator.next()
File "/usr/lib/python2.6/site-packages/pootle_misc/dbinit.py", line 134, in staggered_install
yield syncdb()
File "/usr/lib/python2.6/site-packages/pootle_misc/dbinit.py", line 76, in syncdb
call_command('syncdb', interactive=False)
File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 150, in call_command
return klass.execute(*args, **defaults)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/usr/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 91, in handle_noargs
sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
File "/usr/lib/python2.6/site-packages/django/db/backends/creation.py", line 45, in sql_create_model
col_type = f.db_type(self.connection)
TypeError: db_type() takes exactly 1 argument (2 given)
Web ページが表示されます。
Error: "(1146, "Table 'p2.siteconfig_siteconfiguration' doesn't exist")" while attempting to access the Pootle database, will try to initialize database.
問題の行は 44 番で、次のようになります。
col_type = f.db_type(connection=self.connection)
これをコメントアウトし、その下に次のように行を追加しました。
#col_type = f.db_type(connection=self.connection)
col_type = f.db_type(self.connection)
以前にサーバーを実行するとこのエラーが表示されましたが、次に示すように、作成が成功したという通知が多数表示されました。
mysql> show tables;
+-----------------------------------------------+
| Tables_in_p2 |
+-----------------------------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_session |
| django_site |
| pootle_app_directory |
| pootle_app_language |
| pootle_app_permissionset |
| pootle_app_permissionset_negative_permissions |
| pootle_app_permissionset_positive_permissions |
| pootle_app_pootleprofile |
| pootle_app_pootleprofile_alt_src_langs |
| pootle_app_pootleprofile_languages |
| pootle_app_pootleprofile_projects |
| pootle_app_project |
| pootle_app_submission |
| pootle_app_suggestion |
| pootle_app_translationproject |
| pootle_notifications_notice |
| pootle_store_qualitycheck |
| pootle_store_store |
| pootle_store_suggestion |
| pootle_store_unit |
| registration_registrationprofile |
+-----------------------------------------------+
29 rows in set (0.00 sec)
これが長い質問で申し訳ありませんが、何が起こっているのかをよく理解できるように、できるだけ多くの関連情報を提供しようとしています.
この問題を解決する方法を知っている場合は、私に知らせてください。インターネットには Pootle 関連の修正がかなり不足しているようです。
編集: これを見た: django の db_type deprecation warning を修正するには?
これを含むように settings.py ファイルを変更しました。
col_type = f.db_type(connection=connection)
#col_type = f.db_type(connection=self.connection)
#col_type = f.db_type(self.connection)
このエラーの取得:
NameError: global name 'connection' is not defined