gpt4 book ai didi

python - Google App Engine ndb 中的分层标签

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

我希望为 Google App Engine 中的产品数据库提供一个简单的本体风格标记系统。

作为一个基本示例,标签将被预先定义:

root
--Household
----Bedroom
------Bed
--------Sheets
--------Pillows
----Bathroom
------Bath
------Shower

对于标有 Sheets 的产品,我希望搜索 Bedroom 标签来返回该产品。我想确保当产品被标记时,只输入有效的标签。

实现这一目标的最佳方法是什么?

我在想一些类似的事情:

class HierarchicalTag(ndb.Model):
name = ndb.StringProperty(required=True)
parent = ndb.KeyProperty(required=True, kind='HierarchicalTag')

任何帮助将不胜感激!

最佳答案

如果层次结构仅定义一次,我将定义层次结构的字典(或您选择的结构)。创建产品时,我会保存该产品的标签路径。

模型看起来像这样:

class Product(ndb.model):
tags = ndb.StringProperty(repeated=True)
name = ndb.StringProperty()

例如使用您的示例层次结构,如果保存枕头,我将包括:家庭、卧室、床、枕头。

Product(tags=['Household', 'Bedroom', 'Bed', 'Pillows'], name='Best pillow case')

对于层次结构中的任何级别,查询都很容易。例如查询床品:

qry = Product.query(Product.tags=='Bed')

或仅查询枕头:

qry = Product.query(Product.tags=='Pillows')

关于python - Google App Engine ndb 中的分层标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22471252/

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