From f337cfb425554960fdca4c0efda90d07b27d4a39 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 5 Mar 2011 20:14:48 -0400 Subject: [PATCH] Optimized document duplicate search --- apps/documents/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/documents/views.py b/apps/documents/views.py index 3f535800bf..652c74864d 100755 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -730,15 +730,15 @@ def _find_duplicate_list(request, source_document_list=Document.objects.all(), i else: duplicated = [] for document in source_document_list: - if document not in duplicated: - results = Document.objects.filter(checksum=document.checksum).exclude(id__in=[d.id for d in duplicated]).exclude(id=document.id) + if document.pk not in duplicated: + results = Document.objects.filter(checksum=document.checksum).exclude(id__in=duplicated).exclude(pk=document.pk).values_list('pk', flat=True) duplicated.extend(results) if include_source and results: - duplicated.append(document) + duplicated.append(document.pk) return render_to_response('generic_list.html', { - 'object_list':duplicated, + 'object_list':Document.objects.filter(pk__in=duplicated), 'title':_(u'duplicated documents'), }, context_instance=RequestContext(request))