如何从Google云数据中检索实体

2024-04-18 19:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在googleappengine中有一些云数据存储的问题。在

我在数据库中有两个模型:

class Product(ndb.Model):
    name = StringProperty(required=True)
    category = KeyProperty(kind=Category)
    description = TextProperty(required=True)
    price = IntegerProperty(required=True)

以及

^{pr2}$

那么如何从属于某个类别的产品类中获取所有的数据呢?在

在关系型SQL中,我使用:

SELECT * FROM Product WHERE category = 'CertainName';

谢谢你!在


Tags: 数据name模型数据库truemodelrequiredproduct
2条回答

您可以根据“name”字段在类类别中生成自己的密钥并使用它:

1)生成新类别实体时

2)当您需要根据特定类别查询产品时。在

因此,在类别实体拥有一个可以随时生成的密钥后,可以说:

类别密钥=Category.create_键(name='CertainName')

查询=产品.查询(产品类别==类别键)

以下操作应执行sql查询所执行的操作:

query = Product.query(Product.category == "CertainName") # Note the "=="

编辑:

我刚意识到你需要按键过滤(谢谢@mgilson)。查询有点变化。基本上,您只需先获取category_实体,然后应用如下过滤器:

^{pr2}$

例如,您可以获取如下所示的category\u实体:

category_entity = Category.query(Category.name == "SomeCat").fetch()

有关更多信息,请参阅https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/appengine/standard/ndb/queries/snippets.py(查看通过密钥查询“为客户购买”的查询)

相关问题 更多 >