2

私はdjangonoobであり、管理モジュールに単一モデルでの通常の操作とは少し異なることを実行させる方法を見つけようとしています。基本的に必要なのは、クエリを実行し、クエリの結果をビューページとして表示してから、編集ページへのリンクでユーザーを既存のモデルの編集ビューに移動できるようにすることです。私のクエリの3つのテーブルのうち2つは関連していますが、3つすべてではありません。

例:

select a.foo, a.second_field, b.bar, c.unrelated_field
from a, b, c
where a.primary_key = b.foreign_key
and a.some_value = c.some_value 

aとcは関連テーブルとして定義されていないことに注意してください。

このクエリ出力を表示し、選択したときにbモデル全体の編集ビューへのリンクを表示したいと思います。

このクエリのビューをDBに作成し、ビューを簡単に取得できる新しいモデルを作成しただけですが、これが最初から正しいアプローチであるかどうかはわかりません...しかし、そこからは可能です。 Bテーブルの編集ページへのこのリンクを作成する方法を理解しているようです。

django adminでこのようなことを達成するための最善の方法についてのアドバイスやアドバイスをいただければ幸いです!

ちなみにDjango1.3.1を使用しています。

乾杯!

4

1 に答える 1

0

をオーバーライドchange_viewしてModelAdmin、必要なすべてのデータを含む dict のリストを作成できます。change_list.html次に、テンプレートをオーバーライドしてこのデータを正しく表示change_formし、正しいモデルのビューにリンクします。したがって、Django の管理サイトに問題なく統合されます。

また、DB ビューがなくても問題を解決できる限り、DB ビューは好きではありません。大規模なパフォーマンス ギャップや大量のマジック コードを使用せずに Python でデータを構築できる場合は、Python で処理する必要があります。

于 2012-04-21T04:24:05.800 に答える