6

私は、広大なRESTのようなAPIからデータを消費するDjangoアプリケーションを構築しています。API は .NET を使用して構築されました (いや、私の選択ではありません)。Microsoft ツールを学ぶよりも自分の眼球をえぐり出したいので (私は *nix/OSX 派です)、フロントエンドが必要ないためです。 API に影響を与えるため、またはその逆を行うために、別のサーバーで Django を使用してフロントエンドを構築することにしました。

Django サイトは、メインの DB/API とエンド ユーザーの間の仲介者として機能します。API からのデータはどれも Django サイトに永続化されません。データを人間が読める形式に再フォーマット/表示するだけです。API クライアントとすべてのビューを作成したので、レポート ビルダーを作成しようとしています。

API 呼び出しからオブジェクトを表す一時モデルを作成できるアプリは既にありますか? API から受け取った JSON/XML データ間の関係を作成できるようにしたいのですが、Django サイトで DB 構造を複製する必要はありません。これは冗長です。

最終的な目標は、データ API からのリクエストに基づいて、ユーザーがフィルター処理されたカスタム レポートを作成/保存できるようにすることです。どんな提案でも大歓迎です。(「Django でモデルを複製し、API から取得したデータを挿入するだけ」で応答しないでください。これにより、フロントエンドとは異なるサーバーで DB/API を実行するという点が完全に無効になります。

注 - どちらの Dark も調べましたが、ドキュメントがなく、依存している「docu」ライブラリにドキュメントがないため、それが自分に役立つかどうかはわかりません。この問題を解決するためにそれらを使用する方法の例があれば、教えてください:)

4

2 に答える 2

2

これがうまくいくかもしれないと私が考えることができるハックです。

まず、他のデータベースに加えて、ダミーのデータベース バックエンドを定義します。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase'
    },
    'dummy': {
        'ENGINE': 'django.db.backends.dummy',
        'NAME': 'dummy'
    }

次に、非 db-model を定義します。そこからusing、その呼び出しに特定のバックエンドを使用するように Django に指示し、ダミーのバックエンドを使用するように要求できる機能があります。

objs = YourModel.objects.using('dummy').all()

あるいは、オブジェクトを作成せずにオブジェクトを作成するだけで済む場合もありsave()ます。

于 2012-10-04T17:30:43.260 に答える
1

私は実際にこの問題の解決策を見つけることになりました。

djangopackages.com ありがとうございます!!!

どうやら私が探していたものを表す用語、ROA (Resource Oriented Architecture) があるようです。これは、Ruby on Rails の世界のパラダイムです。これを処理するdjango-roaというdjangoアプリがあります

だから私はそれを試してみます、@Yuval Adamの試みに感謝します

于 2012-12-22T17:47:53.150 に答える