简体   繁体   English

Django中的db_type(尝试通过MySQL安装Pootle)

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

Similar query that was posed to here: Getting db_type() error while using django-facebook connect for DjangoApp 对这里提出的类似查询:对DjangoApp使用django-facebook connect时出现db_type()错误

I'm attempting to install Pootle on a CentOS box with the following details: 我正在尝试使用以下详细信息在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

I was getting the following error: 我收到以下错误:

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'

After I edit /usr/lib/python2.6/site-packages/django/db/backends/creation.py to a way I thought would rectify the issue, I'm still getting the following output from my PootleServer screen when I attempt to load the webpage: 在将/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)

The webpage displays: 该网页显示:

Error: "(1146, "Table 'p2.siteconfig_siteconfiguration' doesn't exist")" while attempting to access the Pootle database, will try to initialize database.

The line in question is number 44, and looks like this: 有问题的行是44号,看起来像这样:

    col_type = f.db_type(connection=self.connection)

Which I have commented out, and added a line underneath it to look like this: 我已将其注释掉,并在其下方添加了一行,如下所示:

    #col_type = f.db_type(connection=self.connection)
    col_type = f.db_type(self.connection)

Previously running the server rendered this error, however it was preceded by a number of successful creation notices, as we can see here: 先前运行服务器时会出现此错误,但是在此之前会出现许多成功的创建通知,如我们在此处看到的:

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)

I'm sorry if this is a lengthy question, however I'm attempting to provide as much relevant information as possible to give you a good idea of what's happening. 很抱歉,如果这是一个冗长的问题,但是我正尝试提供尽可能多的相关信息,以使您对正在发生的事情有个好主意。

If you know a way to fix this issue, please let me know as the internet seems rather lacking in Pootle-related fixes. 如果您知道解决此问题的方法,请告知我,因为互联网似乎缺乏与Pootle相关的修复。

Edit: Saw this: How to fix django's db_type deprecation warning? 编辑:看到了: 如何解决Django的db_type弃用警告?

changed the settings.py file to have this in it: 更改了settings.py文件以使其包含在其中:

    col_type = f.db_type(connection=connection)
    #col_type = f.db_type(connection=self.connection)
    #col_type = f.db_type(self.connection)

Getting this error: 收到此错误:

NameError: global name 'connection' is not defined

It looks like Pootle doesn't support Django 1.4 Uninstall Django 1.4 and install the older 1.3.1 version. 看来Pootle不支持Django 1.4卸载Django 1.4并安装旧的1.3.1版本。

This could be helpful: How do I install an old version of Django on virtualenv? 这可能会有所帮助: 如何在virtualenv上安装旧版本的Django?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在DjangoApp中使用django-facebook connect时出现db_type()错误 - Getting db_type() error while using django-facebook connect for DjangoApp 如何使用Git安装Pootle? - How can I install Pootle using Git? 尝试在python virtualenv中安装django-toolkit时出错 - Error when attempting to install django-toolkit within a python virtualenv Django 连接到 MySql 数据库表 - Django Connect To MySql DB Table Django 模型时间戳 MYSQL Db - Django models timestamp in MYSQL Db Django db Raw MySQL执行 - Django db raw MySQL execute mysql 在 django.db.backends (django) 中不可用 - mysql is not available in django.db.backends (django) 尝试在Django中迁移mysql数据库时出现ConnectionDoesNotExist错误 - getting ConnectionDoesNotExist error when attempting to migrate mysql database in django 错误:blog.Comment: (models.W042) 未定义主键类型时使用自动创建的主键,默认为 'django.db.models.AutoField' - Error: blog.Comment: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField' 是否有预建版本的python 2.7 mySql db API要安装并与Django一起使用,还是必须从头开始真正构建它? - Is there a prebuilt version of python 2.7 mySql db APIs to install and use with django or do i have to really build it from scratch?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM