diff --git a/backend/api/admin/data/spectrogram_analysis.py b/backend/api/admin/data/spectrogram_analysis.py index c28595c15..f65b7bba8 100644 --- a/backend/api/admin/data/spectrogram_analysis.py +++ b/backend/api/admin/data/spectrogram_analysis.py @@ -14,7 +14,7 @@ def store_paths(analysis: SpectrogramAnalysis): # Only process one analysis relations_to_fill = analysis.spectrogram_relations.filter( - spectrogram_path__isnull=False, + spectrogram_path__isnull=True, ) if analysis.legacy: for relation in relations_to_fill.all(): @@ -84,4 +84,5 @@ def store_paths(self, request, queryset: QuerySet[SpectrogramAnalysis]): """Store spectrogram and audio paths in database""" # Only process one analysis analysis = queryset.first() - store_paths(analysis=analysis) + if analysis is not None: + store_paths(analysis=analysis) diff --git a/backend/api/admin/data/spectrogram_analysis_relation.py b/backend/api/admin/data/spectrogram_analysis_relation.py index 0ca986b5b..362746eac 100644 --- a/backend/api/admin/data/spectrogram_analysis_relation.py +++ b/backend/api/admin/data/spectrogram_analysis_relation.py @@ -1,5 +1,6 @@ """API data spectrogram analysis administration""" from django.contrib import admin +from django.http import HttpRequest from django_extension.admin import ExtendedModelAdmin from backend.api.models import SpectrogramAnalysisRelation @@ -17,3 +18,11 @@ class SpectrogramAnalysisRelationAdmin(ExtendedModelAdmin): "audio_path", "spectrogram_path", ) + + def has_add_permission(self, request: HttpRequest) -> bool: + return False + + def has_change_permission( + self, request: HttpRequest, obj: SpectrogramAnalysisRelation | None = None + ) -> bool: + return False