Livid,关于数字ID的计算?

2010-05-02 11:57:37 +08:00
 darcy
http://v2ex.appspot.com/t/213
请问一下最后213这个ID,你每次处理是自己计算该使用的编号还是直接数据库的key_id,貌似使用key_id数字不是连续的
4786 次点击
所在节点    Google App Engine
5 条回复
muxi
2010-05-02 12:08:08 +08:00
big table 的ID是不连续的,这个应该是自己算好,然后存进去的
vvoody
2010-05-02 17:18:11 +08:00
from google.appengine.ext import db

class Accumulator(db.Model):
counter = db.IntegerProperty()

def increment_counter(key, amount):
obj = db.get(key)
obj.counter += amount
obj.put()

q = db.GqlQuery("SELECT * FROM Accumulator")
acc = q.get()

db.run_in_transaction(increment_counter, acc.key(), 5)

可以自己这么维护一个counter
vvoody
2010-05-02 17:18:34 +08:00
@Livid 空格被吃掉啦
Livid
2010-05-02 17:41:43 +08:00
嗯,确实是自己维护一组 counter。
darcy
2010-05-02 23:21:24 +08:00
@vvoody @Livid
看来也只有这样了,谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX