我有一个名为db.ListProperty(db.Key)类型的属性的模型。该应用程序将向实体添加新标签,添加的标签可能已作为列表的一部分存在。
class Entity(db.Model):
tags = db.ListProperty(db.Key)
应用引擎如何处理这些?是否避免重复?或者我们必须做类似的事情:
entity.tags = list(set(entity.tags.extend(new_tags_list)))
答案 0 :(得分:2)
不,ListProperty
没有进行重复数据删除 - 如果是这样,那将违反其默认合同。这是a straightforward implementation of a SetProperty。
答案 1 :(得分:1)
查看ListProperty
implementation,看起来它似乎对验证旁边的列表做了一些特殊操作,您应该能够基于此实现自己的SetProperty
。