2011-01-23 8 views
1

統計的な理由から、モデルの特定のインスタンスをDjangoで表示するたびにログを保持する必要があります。私は、アクセスの日時を格納する別のモデルにManyToManyフィールドを含む別のモデルStatsを作成することから始めました。ビュー内でオブジェクトにアクセスするたびに、関連するStatsオブジェクトを更新します。Djangoでオブジェクトが受け取るビューの数を把握する

  1. それはGETリクエストに応じて任意のデータを書いていないの原則に違反:

    は(そうでない場合より)このアプローチには2つの問題があります。

  2. さらに重要なのは、特に複数のオブジェクトを同時に表示できるため、は実際にはです。これにより、ページがロードされるときに目に見える遅延が発生します。

私の質問は、これを行うより良い方法がありますか?そうでない場合、DBへの書き込みの遅延など、高速化するためにどのようなテクニックが利用できますか?私はDjangoでこのようなことをしたことはないので、アドバイスをいただければ幸いです。

答えて

2

いいえ、よく、それは良いオプションのように見えます。Celery

1

(1)を心配しないでください。ウィキペディアは言う:

安全な方法でいくつかの方法は、彼ら は情報のみ 検索のために意図されていることを意味する、 が安全であると定義されています( 例えば、HEAD、OPTIONSとTRACEをGET)と 状態を変更すべきではありませんサーバーの言い換えれば、 彼らは副作用などのロギング、キャッシング、ウェブカウンタをインクリメントバナー広告や のサービス提供 など、比較的無害な効果 を超え を持つべきではありません。したがって、アプリケーションの 状態の文脈に対して、 を関係なく、任意のGET要求を にすることは、 と考えるべきです。

私は、ビューの数を「ほとんど無害」としてカウントすると言います。

関連する問題