检查ndb,appengine中重复属性的重复项

时间:2013-06-25 06:21:56

标签: google-app-engine app-engine-ndb

我正在使用ndb.JsonPropertyrepeated = 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属性?

1 个答案:

答案 0 :(得分:3)

没有NDB功能可以支持保持重复属性不受重复影响。您可能希望使用Python标记提交单独的问题,询问如何在Python中执行此操作。但它将是O(N ** 2)。