python - “if”元素不在 Google App Engine 列表中

标签 python facebook google-app-engine facebook-graph-api

我正在使用 Google App Engine 构建 Facebook 应用程序。我试图将我的用户 Facebook 帐户中的 friend 与我的应用程序中已有的 friend 进行比较,因此如果他们是 Facebook 中的 friend 但不是我的应用程序中的 friend ,或者如果他们已经是两者中的 friend ,我可以将它们添加到数据库中。我正在尝试这样的事情:

request = graph.request("/me/friends")
user = User.get_by_key_name(self.session.id)
list = []
for x in user.friends:
    list.append(x.user)

for friend in request["data"]:
    if User.get_by_key_name(friend["id"]):
        friendt = User.get_by_key_name(friend["id"])
        if friendt.key not in user.friends:
            newfriend = Friend(friend = user,
                               user = friendt,
                               id = friendt.id)
            newfriend.put()

graph.request 返回一个包含用户好友的对象。如何比较两个检索到的对象列表中的内容。它不一定需要与 Facebook 相关。

(我知道这个问题可能很愚蠢,但这对我来说确实很痛苦。)

最佳答案

如果升级到 NDB,“in”运算符实际上将起作用; NDB 在模型实例上实现了适当的 eq 运算符。请注意,还会比较键,因此具有相同属性值但不同键的实体被视为不相等。如果您想忽略该键,请考虑比较 e1._to_dict() == e2._to_dict()。

关于python - “if”元素不在 Google App Engine 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029680/

相关文章:

php - 为什么散列(不使用盐)随机数?

java - 使用 Spring boot 执行 Google Cloud App 时出现问题

javascript - 使用 jQuery 获取 Facebook 视频 ID

c# - 如何使用 .net 连接到 Facebook 聊天?

python - 如何开始使用 Google App Engine/Django 中的 session ?

java - Google App Engine/JPA - 无法存储任何实体

python - 当仅使用模型的一个实例而不是查询集时,是否值得使用 `select_related()`?

python - 使用 Selenium Python 单击具有相同 ID 的菜单项

python - 使用pdfkit python在第一页上使用不同的边距

java - 获取Facebook特定页面的html代码