我有一个Django模型对象的列表,这些对象是从一个查询集中得到的,但是这个列表中有重复的对象,有人能告诉我如何删除这些对象吗
我试过了,但没用
print(somemodels) #union of some quersets as list
>>> [<SomeModel: 1>, <SomeModel: 1>, <SomeModel: 2>]
cleaned_up_list = []
for somemodel in somemodels:
print (type(some model))
>>>> <class 'SomeModel.models.SomeModel'>
if somemodel not in somemodels:
print ("SomeModel is not already in :" cleaned_up_list)
cleaned_up_list.append(somemodel)
print ("Very Final Results :", cleaned_up_list)
清理后的列表仍然是空的?所以它不是这样工作的,因为你可以在some models
中有相同的两个模型,pk
和{
我看到你对union-some-querysets的评论是list,所以我假设它们是相同的模型对象。您可以通过执行以下操作来合并查询集:
结果不是一个列表,而是一个查询集。然后您可以简单地执行以下操作:
^{pr2}$替换此代码:
签署人:
^{pr2}$因为在第一段代码中,测试将始终为true,因为您正在测试元素是否存在于迭代的列表中。在
相关问题 更多 >
编程相关推荐