0

REST API を必要とするプロジェクトに取り組んでいます。Piston を試してみましたが、現在、モデルごとに 1 つのハンドラーしか許可されていないため、私の要件には合いません。

Tastypie の方が優れているようです。しかし、私は次の問題で立ち往生しています。ランキングや作成日などの複雑なルールに従って、私の記事クラスが表示されます。サーバーのパフォーマンスを向上させるために、すべての記事の注文を記録するダミー テーブルを作成して、ユーザーの要求に応じて複雑な注文プロセスが実行されないようにしました。代わりに、サーバーはダミー テーブルから各記事の注文をチェックします。

Tastypie では、クエリ セットが必要です。ただし、ダミー テーブルに記録された注文を使用したいので、より複雑なコード スニペットを使用してデータを取得する必要があります。

記事オブジェクトの配列を返すことができ、Tastypie がそれらを適切な JSON 形式に変換できる可能性はありますか。

4

1 に答える 1

0

必要なのは in を拡張することquerysetですMeta。記事テーブルがいくつかの追加データによって順序付けられる必要があると仮定すると、クエリセットは次のように定義されます。

Meta:
    queryset = Article.objects.extra(select={
       'ordering': 'SELECT foo FROM bar'
    },).order_by('ordering')

リソースに追加のフィールドを定義する必要があります。

ordering = field.IntegerField(attribute="ordering", default=0, readonly=True)

追加のフィールドは、クエリセットから取得された他のすべてのフィールドと共に返されるはずです。メタで属性を定義する場合は、fieldsそこに新しいフィールドも追加する必要があることに注意してください。

于 2012-09-05T13:12:40.973 に答える