-1

さまざまなユーザーのレシピを保存する GAE のアプリを Python で作成しています。データストアに User というエンティティと Recipe というエンティティがあります。各レシピの所有者を、それを作成したユーザーに設定できるようにしたいと考えています。また、各 User エンティティに、その User に属するすべての Recipes のリストを含め、Recipe データベースにクエリを実行して、特定の User が所有するすべての Recipes を検索できるようにします。

この親子タイプの関係を作成するための最良の方法は何ですか?

ありがとう

4

2 に答える 2

1

db.Model を使用して 1 対多の関係をモデル化する場合は、RefernencePropertyコンストラクターを使用してcollection_name. たとえば、1 冊の本に多くのレビューがある場合があります。

    クラス Book(db.Model):
    タイトル = db.StringProperty()
    著者 = db.StringProperty()

    クラス BookReview(db.Model):
        book = db.ReferenceProperty(Book, collection_name='レビュー')

    b = ブック()
    b.put()
    br = 書評()  
    br.book = b # br の 'book' プロパティを b のキーに設定します

    for review in b.reviews:# collection_name を使用して、書籍のすべてのレビューを取得します
        ....

https://developers.google.com/appengine/docs/python/datastore/datamodeling#referencesを参照してください

KeyPropertyまたは、ティムの回答のようにndbを使用できます。

App Engine の db.ReferenceProperty() と ndb.KeyPropertyも参照してください 。

于 2013-08-06T03:00:12.147 に答える