基于帖子:Django comparing model instances for equality
我正在尝试从我的实例列表中删除重复项(尚未保存,我认为他们的' id'为无)
代码是:
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永远不会被执行。
我错过了什么?
有没有更有效的方法来实现这一目标? (灵感来自this post使用"在relation_list"要么不起作用。
答案 0 :(得分:2)
试试这个,让我知道结果:
a = list()
for x in relation_list:
if x.attrib1 not in [z.attrib1 for z in a]:
a.append(x)