我在理解实体和密钥在Google App Engine NDB中的工作方式时遇到了一些麻烦。
我有一个post
实体和一个user
实体。如何将user_key
上的post
设置为user
?
在交互式控制台中,到目前为止我有这个:
from google.appengine.ext import ndb
from app.lib.posts import Post
from app.lib.users import User
from random import shuffle
users = User.query()
posts = Post.query().fetch()
for post in posts:
post.user_key = shuffle(users)[0]
post.put()
我只是想为开发设置一些种子数据。我知道这可能不是设置事物的理想方式,但我的第一个问题是:
答案 0 :(得分:2)
尝试:
post.user_key = shuffle(users)[0].key
答案 1 :(得分:2)
这可能有助于理解NDB。我和你有同样的问题。
class Person(ndb.Expando):
pass
class Favourite(ndb.Expando):
pass
class Picture(ndb.Expando):
pass
person = Person()
person.put()
picture = Picture()
picture.put()
fav = Favourite(parent=person.key,
person=person.key,
picture=picture.key
)
fav.put()
答案 2 :(得分:0)