У меня есть несколько моделей, настроенных как:
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):',)
Я попытался просмотреть несколько примеров в Интернете, и все они, кажется, работают просто так, как описано выше. Один комплект документации Google предлагает сделать это немного по-другому, например:
a = Apps.get(app_key)
ss = AppScreenshots(
image_file = 'foo',
description = 'bar',
app = a.key()
)
ss.put()
Но это дает мне точно такую же ошибку.
Что я делаю не так?