gpt4 book ai didi

python - App Engine devserver 查询过滤器不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 19:22:05 25 4
gpt4 key购买 nike

在过滤查询时,我发现 App Engine 的本地开发服务器出现一些奇怪的行为。

我已经实现了这个分片计数器。

http://code.google.com/appengine/articles/sharding_counters.html

这就是我所看到的:

  1. 我递增计数器,计数器实体已成功创建,并且计数会按预期更新。
  2. 紧接着当我调用 get_count() 时,它会返回刚刚创建的 GeneralCounterShard 实体的计数
  3. 过了一会儿,当我调用 getCount() 时,它什么也没返回。

调试后,我注意到应该与我想要计数的 GeneralCounterShard 实体匹配的查询与提供的名称不匹配。

def get_count(name):    
"""Retrieve the value for a given sharded counter.
Parameters: name - The name of the counter """
total = memcache.get(name)
if total is None:
total = 0
for counter in GeneralCounterShard.all().filter('name = ', name):
total += counter.count
memcache.add(name, total, 60)
return total

因此,当数据库中存在具有所提供名称的 GeneralCounterShard 实体时,上述代码中的过滤器不会匹配任何内容。

我必须说我是 App Engine 和 Python 的新手,但我不明白为什么它暂时有效,然后就不再有效了。实体仍在数据库中。

这可能是某种错误还是我遗漏了什么?

谢谢!

最佳答案

在此片段中: .filter('name = ', name) 我认为您需要删除 = 后面的空格。

关于python - App Engine devserver 查询过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9360360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com