NDB:如何检索下一个/上一个实体?

时间:2017-07-09 20:02:14

标签: google-app-engine app-engine-ndb

我正在为工厂编写应用程序,我需要为用户提供一种方法来检索NDB中某种类型的下一个(或以前的)实体,并且无法弄清楚如何执行此操作。任何帮助/提示将不胜感激!

假设我有以下简化模型:

from google.appengine.ext import ndb

class Product(ndb.Model):
    prod_id = ndb.StringProperty(required = True)
    prod_desc = ndb.StringProperty(required = True)
    prod_units = ndb.StringProperty(required = True)
    ... other properties

要允许用户查找特定产品,我使用下面的查询('查找'来自用户填写的表单)。

Products_Str = 'Products'   # The string ID for the common products ancestor

...
def get_products_key(products_key_str = Products_Str):
    return ndb.Key('Products', Products_Str)

class DisplayProduct(BaseHandler):  # Displays a product found on exact prod_id property 
def post(self):
    search_key = self.request.get('find')
    find_query = Product.query(Product.prod_id == search_key, ancestor = get_products_key()).get()
    ... here I display the one result of the query, i.e. the requested product

到目前为止一直很好:我为用户提供了一种基于代码(或描述)查找特定产品的方法。

现在我需要在显示页面上放置两个按钮,名为" previous"和" next"而且我无法弄清楚如何检索下一个和以前的产品。

我欢迎任何建议。

0 个答案:

没有答案