Удаление «дубликатов» зависит от того, как вы определяете «дубликат».
Если вы хотите, чтобы КАЖДЫЙ столбец (кроме ПК) совпадал, это боль в шее - это много для сравнения.
Если, с другой стороны, у вас есть некоторый столбец с «естественным ключом» (или короткий набор столбцов), вы можете легко запросить и удалить их.
master = MyModel.objects.get( id=theMasterKey )
dups = MyModel.objects.filter( fld1=master.fld1, fld2=master.fld2 )
dups.all().delete()
Если вы можете определить более короткий набор ключевых полей для дублирующейся идентификации, это работает очень хорошо.
Редактировать
Если объекты модели еще не сохранены в базе данных, вы можете создать словарь на основе этих ключей.
unique = {}
...
key = (anObject.fld1,anObject.fld2)
if key not in unique:
unique[key]= anObject