google-app-engine - 我应该如何序列化/引用 App Engine 用户?

标签 google-app-engine

这是这个问题的后续:

How do I correctly reference Users in GQL queries on App Engine?

在我的应用程序中,我有一个照片 db.Model,其中每张照片都有一个 UserProperty。我想显示一个用户列表,点击某个用户将显示该用户的所有照片。

创建指向用户照片页面的链接时引用用户的最佳方式是什么?

我发现了两种选择,但都有各自的缺点。

  1. user.nickname() - 可以在 GQL 查询中使用(例如 Photos.gql("WHERE user = USER(:1)", user.nickname()) ),但是它可以改变,它不一定是唯一的,有时(例如对于 Gmail 地址)user.nickname() 在“@”符号处截断,并且不能用于在不附加“@gmail.com”的情况下进行查找。
  2. user.user_id() - 这是独一无二的,但我还没有找到通过 user_id() 查找用户的方法

有更好的方法吗?目前,我将用户和 user_id() 存储在照片模型上,通过链接中传递的 user_id 进行 GQL 搜索,然后从照片模型上的 UserProperty 引用用户。

最佳答案

使用user_id。 “查找”用户并不是真正有意义的操作,除非您想获取他们的电子邮件地址和/或昵称。您应该有一个用户表,用于存储由 user_id 键控的 User 对象,以及您需要的任何其他站点特定信息(例如,首选项、个人资料信息) .

关于google-app-engine - 我应该如何序列化/引用 App Engine 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6023572/

相关文章:

android - java.lang.NoClassDefFoundError : com. google.firebase.FirebaseOptions

node.js - 将 Nuxt JS SSR 应用部署到 Google Cloud App Engine Standard

python - GAE 中的多对多关系。查询失败

google-app-engine - App Engine 实例的 GCS 入口和导出费用

google-app-engine - 如何自动获取 JDO 嵌套实体集合?

java - 在 Appengine 上使用 MapReduce 的动态查询语言

google-app-engine - 拉取任务队列中出现 INVALID_REQUEST 错误

eclipse - 将现有的 Google App Engine 模块导入 Android Studio

java - 忽略 Firebase x-http-method-override 参数

javascript - 通过 JavaScript 将 Canvas 图像从 Safari (5.0.x) 保存到 AppEngine Blobstore