在Google App Engine的`webapp`中是否有类似于`ForeignKey`的东西?

6 投票
2 回答
3999 浏览
提问于 2025-04-16 12:45

我正在使用谷歌的App Engine,搭配他们的webapp框架。请问在webapp中有没有类似Django的ForeignKey的东西?也就是说,我有一个模型,我想让它有一个属性/字段,指向另一个模型。这可能吗?

2 个回答

4

我刚好在看这个;使用 db.ReferenceProperty 绝对是个不错的选择。

我在这里找到了一些看起来不错的解释; 建模实体关系

7

有一个叫做 db.ReferenceProperty 的东西。在使用它的时候,你需要注意两件事:第一,它会自动解引用(这意味着会进行另一个数据存储的远程调用);第二,被引用的实体不一定存在(所以你需要手动检查一下它是否存在)。

在使用 db.ReferenceProperty 的时候,确保使用 Appstats,这样可以避免一个一个地去获取实体。Nick Johnson 写了一篇 文章,里面讲了如何提前获取被引用的实体。

撰写回答