我有两个模型:
class User(ndb.Model):
email = ndb.StringProperty(required=True)
name = ndb.StringProperty(required=True)
class Post(ndb.Model):
created = ndb.DateTimeProperty(auto_now_add=True)
message = ndb.TextProperty(required=True)
user = ndb.KeyProperty(kind=User)
如果我想在Post模型中循环一些帖子,我该如何访问User模型中的“name”字段?例如:
for post in posts:
print post.message
print post.user.name
所以我猜最后一行不正确。我尝试搜索但是无法弄清楚。还有,是否有一种方法可以在Jinja2模板中访问该信息?
最后,我的做法是否错误?假设有50篇文章。我只需要1个查询来获取这50篇文章。每次循环时访问用户模型上的“name”字段会产生额外的查询吗?因此有51个查询?如果是这样,是否最好不使用KeyProperty并仅将用户数据与每篇文章一起存储(即使我有更多数据如头像、用户ID等)?