0

私はTastypieの初心者ですが、これを使ってCRUD操作をすばやく実行できるのは素晴らしい方法です。しかし、戻り値がモデル以外の別の種類のWebサービスを実装したいと思います。たとえば、このような単純なモデルがある場合

class User(models.Model):
    name = models.CharField(max_length=20)
    age = models.PositiveSmallIntegerField()

/ api / v1 / user / avg_ageを介してすべてのユーザーの平均年齢を取得したいのですが、どうすればよいですか?おそらくそれはTastypieよりもDjangoURLに関連するものかもしれませんが、私は現時点で迷子になっています。したがって、問題は、カスタムRESTWebサービスをどこで/どのように定義する必要があるかということです。前もって感謝します

4

1 に答える 1

0

メソッドをモデル自体に追加するか、サービス レイヤーに配置できます。その後、脱水サイクルを使用してリソースに価値を簡単に追加できます。

値のフィルタリングを可能にする別のオプションは、このデータを保持するモデル (UserStatistics モデルなど) を実装することです。その後、外部キー関係を追加するか、スタンドアロン リソースを作成できます。

データが大幅に変更される可能性は低く、これらの計算にはコストがかかるため、データベースの書き込みを定期的に実行するだけで、そのようなモデルの cronjob またはタスクを作成することをお勧めします。

于 2012-10-22T06:58:48.470 に答える