質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4075閲覧

Djangoにて既存のOracleテーブルに接続するには

kumakumatan

総合スコア213

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/08/18 06:27

編集2021/08/18 07:32

・OS:windows7x86
・Python 3.8.10
・django:3.2.6
・エディタ:vscode
・Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

オラクルのテーブルにて「MNU」テーブルがあり、そちらをコマンドで
select文を実行しようとしました。
アプリ名を「app」としました。
「class Meta:」を定義しないとテーブル名が「app_MNU01」となるもので
ないといけないと思い定義しました。
既存のオラクルにはテーブルとテーブルデータが入った状態になっています。

app
--models.py

models.py

python

1from django.db import models 2 3class MNU01(models.Model): 4 TNTCD = models.CharField(max_length=10) 5 SEQ = models.IntegerField() 6 7 8 class Meta: 9 managed = False 10 db_table = 'MNU'

この後、
python manage.py shell
from app.models import *
MNU01 = MNU01.objects.all()
MNU01
とすると、
django.db.utils.DatabaseError: ORA-00942: table or view does not exist
となってしまいます。
どうすれば「select * from MNU;」を実行できるようになりますでしょうか?
また、Djangoにてオラクルテーブル一覧を表示させるにはどうしたらいいでしょうか?

※追記
TNTCD
SEQ
の二つがプライマリーキーになっています。
djangoでは複合キーはできないと色々なサイトに記載されていたので、
どうしてもできないのでしょうか?

どなたかご教授をお願い致します。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

投稿2021/08/18 11:02

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kumakumatan

2021/09/21 23:56

ありがとうございます。 もう一度見直したら、接続できました。 プライマリーキーが2つの場合は、viewにselect文を記載してみようかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問