2

Django は Oracle のネストされたテーブル、VARRAY、またはコレクションを何らかの方法でサポートできますか? 私たちのプロジェクトはデータ モデルを作り直し、EAV 組織から離れようとしているので、完全性を求めるだけですが、各主要エンティティの従属サポート テーブルのバケット ロードを作成するのは好きではありません。

例(適切なOracle構文ではありませんが、アイデアは理解できます)

イベント
  eventid
  report_id
  result_tuple (result_type_id, result_value)
  anomaly_tuple(anomaly_type_id, anomaly_value) Contributing_factors_tuple
  (cf_type_id, cf_value)
  など

ここで、1 つのイベント ID に対してタプルの複数の行を指定できます

もちろん、これらの各タプルは個別のテーブルとして存在できますが、これはより簡潔なようです。それが Django でできないこと、またはモデル クラスを簡単に変更できない場合は、おそらく、Django に余分なテーブルを作成させることが最善の方法です。

- 編集 -

django-hstore は、私がやりたいことと非常によく似た処理を行っていますが、postgresql の hstore 機能を使用しています。おそらく、Oracle のネストされたテーブルの実装のために、それから分岐することができます。わかりません...私はpythonとdjangoにかなり慣れていないので、この場合、私の範囲は私の理解を超える可能性があります。

4

1 に答える 1

0

ネストされたテーブルをクエリすると、タプルをトラバースするためのカーソルが提供されます。タプルの 1 つのメンバーはさらに別のカーソルであるため、ネストされたテーブルから行を取得できます。

于 2014-10-04T02:26:47.673 に答える