我正在使用ndb.JsonProperty
和repeated = 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不可清除。我发现some other python solutions要执行此操作,但我认为ndb可能包含一些功能以防止包含重复对象的重复属性。 Doc此处不包含此类信息。
所以我的问题,如何防止包含重复项的重复ndb属性?
答案 0 :(得分:3)
没有NDB功能可以支持保持重复属性不受重复影响。您可能希望使用Python标记提交单独的问题,询问如何在Python中执行此操作。但它将是O(N ** 2)。