Se modifico comadno eliminar pedimentos duplicados

This commit is contained in:
2025-10-06 18:37:47 -06:00
parent e47ac747ee
commit da36896dd8
3 changed files with 26 additions and 4 deletions

View File

@@ -9,14 +9,14 @@ class Command(BaseCommand):
def handle(self, *args, **options):
duplicados = (
Pedimento.objects
.values('pedimento_app')
.values('pedimento')
.annotate(total=Count('id'))
.filter(total__gt=1)
)
for dup in duplicados:
pedimentos = (
Pedimento.objects
.filter(pedimento_app=dup['pedimento_app'])
.filter(pedimento=dup['pedimento'])
.annotate(
num_docs=Count('documents'),
num_coves=Count('coves'),
@@ -28,10 +28,10 @@ class Command(BaseCommand):
# Mantener el primero, eliminar los demás
to_delete = pedimentos[1:]
for ped in to_delete:
self.stdout.write(f'Eliminando pedimento {ped.id} ({ped.pedimento_app})')
self.stdout.write(f'Eliminando pedimento {ped.id} ({ped.pedimento})')
Cove.objects.filter(pedimento=ped).delete()
EDocument.objects.filter(pedimento=ped).delete()
Partida.objects.filter(pedimento=ped).delete()
Document.objects.filter(pedimento=ped).delete()
ped.delete()
self.stdout.write(self.style.SUCCESS('Eliminación de duplicados completada.'))
self.stdout.write(self.style.SUCCESS('Eliminación de duplicados completada.'))