2

データストアに「もの」のリストを保持したいと思います。これらの「モノ」には、名前以外の情報は必要ありません。これらの名前は一意である必要があります。つまりkey_name、エンティティのように考えることができます。この場合、エンティティの種類に明示的なプロパティ/フィールドは必要ありません(「もの」の名前はkey_nameエンティティ内に保持できるため)。これは可能ですか?どのように?別の方法は、名前専用のフィールド/プロパティを使用して、この情報を複製することです。

class EntityKindWithNoProperty(db.Model):
    name = db.StringProperty()

このアプローチは情報の重複だと思います。どう思いますか?

4

2 に答える 2

3

これは動作します

class Empty(ndb.Model):
    pass

e = Empty(id="somestring")
e.put()

一意性を保つために、事前にIDを生成してから、数字キーを使用してIDを1つずつ使用することができます。または、使用モデルに応じて、get_or_insert。

于 2013-01-04T17:44:59.047 に答える
0

リストプロパティを持つ単一のエンティティを持つことを検討しましたか?

class ThingSingleton(db.Model):
    things = db.StringListProperty()

使用するのに最適なアプローチは、クエリパターンと予想されるカーディナリティによって異なります。

于 2013-01-04T17:44:40.280 に答える