fixes for idea render and other

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-17 05:58:13 +00:00
parent 4bba5a9a1f
commit 9f826c92f8
4 changed files with 63 additions and 8 deletions

View File

@@ -215,9 +215,15 @@ class KeywordViewSet(SiteSectorModelViewSet):
# Save with all required fields explicitly
serializer.save(account=account, site=site, sector=sector)
def destroy(self, request, *args, **kwargs):
"""Override destroy to use hard delete for keywords"""
instance = self.get_object()
instance.hard_delete()
return Response(status=status.HTTP_204_NO_CONTENT)
@action(detail=False, methods=['POST'], url_path='bulk_delete', url_name='bulk_delete')
def bulk_delete(self, request):
"""Bulk delete keywords"""
"""Bulk delete keywords - uses hard delete to avoid unique constraint issues"""
ids = request.data.get('ids', [])
if not ids:
return error_response(
@@ -229,7 +235,10 @@ class KeywordViewSet(SiteSectorModelViewSet):
queryset = self.get_queryset()
items_to_delete = queryset.filter(id__in=ids)
deleted_count = items_to_delete.count()
items_to_delete.delete() # Soft delete via SoftDeletableModel
# Hard delete to avoid unique constraint violations when re-adding same keywords
for item in items_to_delete:
item.hard_delete()
return success_response(data={'deleted_count': deleted_count}, request=request)