0

一部の検索インデックスを更新する ndb モデルに _post_put_hook をセットアップしました。これにより、データのインポートとアトミック更新が簡素化されます。しかし、インデックス作成アクションをトリガーせずに、そのモデルの特定のプロパティを更新したい場合が 1 つあります。

だから私はどちらかを探しています:

  1. _post_put_hook で使用できるある種のフラグ、または:
  2. その put() でどのモデルのプロパティ/値が変更されたかを知る方法で、インデックスを更新するかどうかの条件を追加できます。

ありがとう!

4

1 に答える 1

2

1 つの方法は、_post_put_hook でロジックを呼び出さないようにしたい場合に明示的に設定する ndb.Property (つまり、揮発性) ではないエンティティ プロパティを設定することです。

例えば

名前が付けられた場所に保存されない私のzope日のプロパティから_v_somename

明示的にsetattr(self,_v_no_hook,True) -明らかにこれをメソッドで行います;-)

そして、あなたのフラグをチェックしてください_post_put_hook

if not getattr(self,'_v_no_hook`,False):
     # do something.not  

他のほとんどのフックがそうであるように、クラスメソッドではなくメソッドであるため、post put フックを使用してこれを行うことができます。

于 2015-10-14T11:28:28.030 に答える