AppEngine Datastore 获取列表属性中包含所有项目的实体
我想为我的应用程序实现某种标记功能。我想做一些类似的事情...
class Item(db.Model):
name = db.StringProperty()
tags = db.ListProperty(str)
假设我得到一个包含 2 个或更多标签的搜索。例如。 “餐厅”和“墨西哥”。
现在,我想要获取具有所有(在本例中为 2)给定标签的项目。
我该怎么做?或者有更好的方法来实现我想要的吗?
I want to implement some kind of tagging functionality to my app. I want to do something like...
class Item(db.Model):
name = db.StringProperty()
tags = db.ListProperty(str)
Suppose I get a search that have 2 or more tags. Eg. "restaurant" and "mexican".
Now, I want to get Items that have ALL, in this case 2, given tags.
How do I do that? Or is there a better way to implement what I want?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我相信您希望将标签存储为“db.ListProperty(db.Category)”,然后使用以下内容查询它们:(
不幸的是,我找不到 db.Category 类型的任何好的文档。所以我不能明确地说是正确的方法。)另请注意,为了创建 db.Category,您需要使用:
I believe you want tags to be stored as 'db.ListProperty(db.Category)' and then query them with something like:
(Unfortunately I can't find any good documentation for the db.Category type. So I cannot definitively say this is the right way to go.) Also note, that in order to create a db.Category you need to use:
使用 db.ListProperty(db.Key) 代替,它存储实体的键列表。
models:
views:
/// 这里data_list存放Data实体的key
Data.get(prof.data_list)会获取key在data_list属性中的所有Data实体
use db.ListProperty(db.Key) instead,which stores a list of entity's keys.
models:
views:
/// Here data_list stores the keys of Data entity
Data.get(prof.data_list) will get all the Data entities whose key are in the data_list attribute