【发布时间】:2011-08-20 23:21:07
【问题描述】:
我有两个模型:Group 和 Item。一个Item 有一个标签列表并且属于一个Group。
class Group(db.Model):
name = db.StringProperty()
class Item(db.Model):
title = db.StringProperty()
tags = db.StringListProperty()
group = db.ReferenceProperty(Group)
到目前为止,典型的操作是向Item 添加标签,从Item 中删除标签,并显示与给定Group 和标签匹配的所有Items。
获取Group 中使用的所有唯一标签列表的好方法是什么?
理想情况下,我希望在 Group 中有一个属性来反映所使用的标签:
class Group(db.Model):
name = db.StringProperty()
aggregated_tags = db.StringListProperty()
如果这包括具有此标签的Items 的数量会更好。
永久一致性不是必需的,即,如果标签的聚合列表与实际使用的标签列表不匹配,只要它们最终保持一致即可。
Item 和 Group 不在同一个实体组中,所以我不能同时更新 Item 和 Group 的事务。
【问题讨论】:
标签: google-app-engine gql