3

モデルMyModel(Googleのdb.Modelを拡張)があり、作成されたモデルの数を追跡したいと思います。

グーグルのシャーディングカウンターに関するI/Oトークのコードはかなり良いと思うので、それを使用しています。しかし、新しいコードを作成するときに、増分をどこで呼び出すべきかわかりません。(私はDjangoを使用しており、使い慣れたmodels.py、views.pyなどのレイアウトをプロジェクトのアプリケーションに合わせています。)

インクリメントコードをどこに置くかについて頭に浮かぶように思われるいくつかの可能性があります。

  1. Model.put()をオーバーロードして、モデルが初めて保存されたときにカウンターをインクリメントします。同様に、Model.delete()をオーバーロードして、カウンターをデクリメントします。

  2. ある種のリスナーを保存/削除にアタッチし、保存が新しいモデルのものであることを確認します(GAEにはそのようなリスナーがありますか?)

  3. モデルを作成/削除するview.pyの関数にカウンターインクリメントコードを配置します

私はこれを最善の方法で行う方法(および各オプションの長所/短所)についての提案や考えを強く求められます。

読んでくれてありがとう。

最高、ブライアン

4

1 に答える 1