# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import migrations, models from django.db.models import Count def remove_duplicate(apps, schema_editor): Vote = apps.get_model('representatives_votes', 'Vote') duplicates = Vote.objects.values('proposal_id', 'representative_id').annotate(Count('id')).filter(id__count__gt=1) for duplicate in duplicates: remove = Vote.objects.filter( proposal_id=duplicate['proposal_id'], representative_id=duplicate['representative_id']) for i in remove.values_list('pk')[1:]: Vote.objects.get(pk=i[0]).delete() class Migration(migrations.Migration): dependencies = [ ('representatives_votes', '0005_make_dossier_reference_unique'), ] operations = [ migrations.RunPython(remove_duplicate) ]