如何使用cx_oracle django包连接到oracle legacy数据库?

时间:2016-02-29 13:11:55

标签: python django oracle cx-oracle

我连接到旧版oracle数据库后端的数据库设置是

DATABASES = { 'bannerdb': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'host:port/service_name', 'USER': 'username', 'PASSWORD': 'password', },

我正在使用此命令使用

运行create models.py文件

python manage.py inspectdb --database=bannerdb >models.py

我的问题是以下

  • 当我如上所述运行inspectdb命令时,它会创建一个空的models.py文件

     from __future__ import unicode_literals
     from django.db import models
    

我做了很多研究但是找不到用cx_oracle包为oracle数据库后端创建models.py文件的方法,请帮忙。我是一只新蜜蜂。

1 个答案:

答案 0 :(得分:3)

我解决了这个问题,不像使用django与其他数据库(postgres,mysql等)连接,要访问oracle遗留数据库,需要手动创建models.py文件。 就我而言,python manage.py inspectdb --database=bannerdb >models.py没有用。我将models.py文件创建为

class table_name(models.Model):
    ID = models.CharField(max_length=9, primary_key=True)
    title = models.CharField(max_length=20, null=True)
    first_name = models.CharField(max_length=60, null=True)
    middle_name = models.CharField(max_length=60, null=True)
    last_name = models.CharField(max_length=60)

    class Meta:
        db_table="table_name_oracle_database"

使用oracle数据库后端的完整说明是http://www.oracle.com/technetwork/articles/dsl/vasiliev-django-100257.html