我正在使用ndb.JsonProperty
withrepeated = True
将 python dicts 列表存储为 ndb 实体。我喜欢该列表不包含重复项。我认为使用类似以下的东西会起作用
stored_list = TheList(id=list_id)
current_list = stored_list.list_data
current_list.extend(items) #items is a list of dicts that need to be newly added
# check if the list contains duplicate items
if len(current_list)!=len(set(current_list)):
cached_list.list_data = current_list
cached_list.put()
但set(current_list)
不会工作,因为 dicts 不可散列。我找到了一些其他的 python 解决方案来做到这一点,但我认为 ndb 可能包含一些功能来防止包含重复对象的重复属性。此处的文档不包含此类信息。
所以我的问题是,如何防止重复的 ndb 属性包含重复项?