簡體   English   中英

Django中的db_type(嘗試通過MySQL安裝Pootle)

[英]db_type in Django (attempting to install pootle w/ mysql)

對這里提出的類似查詢:對DjangoApp使用django-facebook connect時出現db_type()錯誤

我正在嘗試使用以下詳細信息在CentOS盒子上安裝Pootle:

[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)

該網頁顯示:

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棄用警告?

更改了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

看來Pootle不支持Django 1.4卸載Django 1.4並安裝舊的1.3.1版本。

這可能會有所幫助: 如何在virtualenv上安裝舊版本的Django?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM