1

我正在使用ndb.JsonPropertywithrepeated = 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 属性包含重复项?

4

1 回答 1

3

没有 NDB 功能来支持保持重复属性不重复。您可能想提交一个带有 Python 标签的单独问题,询问如何在 Python 中执行此操作。但这将是 O(N**2)。

于 2013-06-25T17:30:33.650 回答