我是 Python 新手,目前正在开发我的第一个 Google App Engine 应用程序。在我的程序中,我有一个“收件箱”数据库模型,其中包含 to_user、from_user、标题、内容等字符串属性。当用户登录我的应用程序时,我希望能够计算发送给他的消息数量/她,这样我就可以将其显示为“新消息(x)”。我觉得我目前正在使用一种解决方法,因为我找不到更好的方法。

user = users.get_current_user()
inbox = Inbox.gql('WHERE to_user = :to_user', to_user=user.nickname())
count = 0
for note in inbox:
    count = count+1

我尝试使用 len(inbox) 但这给了我一个错误。谢谢你的时间。

最佳答案

在您的特定情况下,新消息的数量可能很少,我不会费心预先创建一个计数器 as suggested here
我会使用 count() 函数采用更简单的解决方案:

user = users.get_current_user()
inbox = Inbox.gql('WHERE to_user = :to_user', to_user=user.nickname())
count = inbox.count()

关于python - 从 GQL 查询返回的实体数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4528434/

10-12 16:03