EndpointsModelに含まれていない属性をAPI呼び出しに渡そうとしています。たとえば、次のモデルがあるとします。
class MyModel(EndpointsModel):
attr1 = ndb.StringProperty()
attr2
次に、パラメーターとして渡したいがattr2
、フィルターとして使用したくない、またはモデルに格納したくないと仮定します。文字列を渡してメソッド内で取得し、それを使用してビジネスロジックを実行したいだけです。
ドキュメントにはquery_fields
、メソッドに渡すフィールドを指定するためのパラメーターが記載されていますが、これらはモデル内に含まれる属性に結合されているように見えるため、モデルで指定されていない属性を渡すことはできません。
同様に、ドキュメントには、パス変数を介して属性を渡すことができると記載されています。
@MyModel.method(request_fields=('id',),
path='mymodel/{id}', name='mymodel.get'
http_method='GET')
def MyModelGet(self, my_model):
# do something with id
ただし、これにはURLを変更する必要があります。さらに、これにはと同じ制約があるようquery_fields
です(属性はモデルに存在する必要があります)。