2017-06-30 2 views
1

複数の値をリストするComputedPropertyを持つndbモデルがあります。GAEに投影されたクエリで繰り返しプロパティのすべての値を取得する方法

sku_name = ndb.ComputedProperty(lambda self: makekeys(self.sku, self.name), indexed=True, repeated=True) 

makekeysは2つのパラメータのリストを作成するので、特別なことはありません。次の操作を行って

query = cls.query() 
data = query.fetch(projection=[Pricelist.sku_name]) 
for d in data: 
    logging.info(d.sku_name) 

はd.sku_nameの最初の値とComputedPropertyのリストのではないすべての値を取得します。

# result with projection 
[u'0300022'] 

投影せずに同じことを行うと、sku_nameのすべての値をリストとして利用できます。

# result without projection but the full data record 
[u'0300022', u'sbrpgznplus100'] 

私は間違っていますか?ドキュメントhttps://cloud.google.com/appengine/docs/standard/python/ndb/projectionqueriesから

答えて

1

複数の値を持つプロパティを投影するには、そのプロパティのすべての 値を移入しません。代わりに、別のエンティティがクエリに一致する投影値の固有の組み合わせごとに に返されます。

+0

これは本当に質問に答えません。私は繰り返され、複数のプロパティではない1つのプロパティしか持っていません。 – mooose

+0

「複数の値を持つ単数のプロパティ(特異プロパティの場合)」 – GAEfan

+0

はい、OKですが動作しません。または、少なくとも投影の値にアクセスする方法がわかりません。 – mooose

関連する問題