remove duplicates from the list of a model instances
基于post:django比较模型实例是否相等
我正在尝试从实例列表中删除重复项(这些重复项尚未保存,我假定它们的"ID"为"无")。
代码是:
1 2 3 4 5 6 7 8 9 10 | a = list() a.append(relation_list.pop()) for x in relation_list: duplicate = False for z in a: if z is x: #or if z.attrib1 == x.attrib1 and z.attrib2 == x.attrib2: duplicate = True if not duplicate: a.append(x) |
但是,如果attribs相等,则行duplicate=true永远不会执行。
我错过了什么?
有没有更有效的方法来实现这一点?(从这篇文章中得到启发,使用"关系列表"也不起作用。
试试这个,让我知道结果:
1 2 3 4 | a = list() for x in relation_list: if x.attrib1 not in [z.attrib1 for z in a]: a.append(x) |