在settings.py Django文档中更改db设置时的ValueError

时间:2017-07-19 18:48:21

标签: python django oracle

嗨iam跟随Django documenatation,我已经安装了 Django 1.8 python 2.7.12 ,我想连接到oracle 11g数据库,为此我有在mysite文件夹中更改了 settings.py 文件,例如DATABASE信息

DATABASES = {
    'default': {
        'ENGINE' : 'django.db.backends.oracle',
        'NAME' : 'XE',
        'USER' : 'chandan',
        'PASSWORD' : 'root',
        'HOST' : 'localhost',     }
}

当我运行python manage.py runserver

时,我得到以下错误
python manage.py migrate

       from .utils import InsertIdVar, Oracle_datetime, convert_unicode
  File "C:\PYTHON27\lib\site-packages\django\db\backends\oracle\utils.py", line 10, in <module>
    (int(Database.version.split('.', 2)[1]) >= 1 or
ValueError: invalid literal for int() with base 10: '0rc1'

我是否必须更改settings.py 中的 DATABASE部分或需要执行哪些操作?

2 个答案:

答案 0 :(得分:0)

首先,检查您的ORACLE连接。

添加端口信息。

请务必安装cx_Oracle driver-lastest version。

答案 1 :(得分:0)

你正在运行一个不兼容的oracle版本,Django的oracle驱动程序试图将版本字符串强制转换为int,这显然会因为or​​acle版本字符串包含UIView.animate(withDuration: 6.0, delay: 0, options: .allowUserInteraction, animations: { //your animation code }, completion: nil) 而失败。

您可能希望安装较新版本的Django,1.8版本是EOL,并且不会收到任何安全补丁。如果你正在开始一个新项目,请帮个忙,选择Python 3: - )