どのように適切に(パイソン)GoogleのApp Engineのデータソースに1対多のジョイン行うには?

StackOverflow https://stackoverflow.com/questions/1100472

  •  11-09-2019
  •  | 
  •  

質問

私は以下のように設定し、いくつかのモデルがあります:

class Apps(db.Model):
    name        = db.StringProperty(multiline=False)
    description = db.TextProperty()

class AppScreenshots(db.Model):
    image_file     = db.StringProperty(multiline=False)
    description    = db.StringProperty(multiline=False)
    app            = db.ReferenceProperty(Apps)

私はそうのようなスクリーンショットでは、「親」のアプリを参照しようとしています

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a
)
ss.put()

しかし、それは言って私に文句ます:

BadArgumentError('_app should be a string; received ag1raWxsZXItcm9ib3RzcgoLEgRBcHBzGAkM (a Key):',)

私は、インターネット上のいくつかの例を乗り越えてみた、それらはすべてJUST上記のように動作するように見えます。グーグルの文書の一つセットは、それをやって示唆してアップしています少し異なり、このような:

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a.key()
)
ss.put()

しかし、それは私にまったく同じエラーを与えます。

私が間違って何をしているのですか?

scroll top