在MySQL中,您可以获得下一个或上一个记录based on the key/id。 任何人都知道如何通过知道/传递密钥在app引擎(我使用python)中实现这一点?感谢
答案 0 :(得分:2)
实体无法(默认情况下)知道下一个/上一个实体。
您可以做的一件事是为每个模型创建一个时间戳作为创建时间,然后获取下一个实体就像选择时间戳在XXX之后的第一个实体一样简单。
答案 1 :(得分:2)
假设通过'next / previous',你的意思是'具有按字典顺序排列的密钥的实体最接近给定密钥',是的,你可以使用查询来做到这一点。假设您的密钥在'my_key'中,并且您的模型名为MyModel,在Python中它的工作方式如下:
q = MyModel.all().filter('__key__ >', my_key)
next_entity = q.get()
q = MyModel.all().filter('__key__ <', my_key)
prev_entity = q.get()
答案 2 :(得分:1)
这对我有用:
q = Noticia.all().filter("tipo",tipo).filter('____key____ <', bookmark).order("-____key____")
next = q.get()
q = Noticia.all().filter("tipo",tipo).filter('____key____ >', bookmark)
prev = q.get()