Google App EngineでDjangoのマネジャ的なモノを。

 モデル API リファレンス : Django オンラインドキュメント和訳

 Google App Engineでモデル以外にDjangoを使って遊んでいると(←遊んでいるのか)、ついついモデルの方もDjango的にやってしまって、先日なども公開フラグを使ってフラグが立っているものだけを抽出する様なカスタムマネジャが欲しくてひととおり実装して動かない、何故か動かない。……動くわけない。

 てわけで、@classmethodデコレータを使ってそれっぽいヤツをでっち上げて満足した。

  published = db.BooleanProperty(default=True)

  @classmethod
  def published_objects(cls):
    objects = cls.all()
    objects.filter('published =', True)
    return objects

 こういうのをModel内に仕込んでおけば

Object.published_objects()

 などと呼び出す事ができる。