1

次のような db.Key インスタンスがあるとします。

db_key = db.Key.from_path('ModelKind', 'UniqueKeyName')

AppEngine が内部的にできるように、「ModelKind」のクラス表現を返す方法はありますか?

何かのようなもの

db_key.class()

最終結果は、キーを指定して (新しいエンティティを構築するために) クラスを動的に取得する必要があるということです。事前にエンティティ タイプがわかりません (「ModelKind」は、「スキーマ」クラス (db.Model サブクラス) で表されるモデルの種類である可能性があります)

避けたいこと:

import schema_module
cls = getattr(schema_module, 'ModelKind')

「ModelKind」が特定の schema_module で定義されるように制限するためです。

4

1 に答える 1

2

を介してキー インスタンスから値「ModelKind」を取得できますdb_key.kind()。次に、db.class_for_kind()関連するクラス自体を取得するために使用できます。そう:

cls = db.class_for_kind(db_key.kind())
于 2013-07-26T00:24:14.307 に答える