From bac62c6d6dcbab2bf4086a0826262ad1d048b957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9DNyymix=E2=80=9D?= Date: Sat, 29 Mar 2025 18:13:55 +0200 Subject: [PATCH] Fix new album create form --- gallery/admin.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gallery/admin.py b/gallery/admin.py index 77cd388..3b25afd 100644 --- a/gallery/admin.py +++ b/gallery/admin.py @@ -129,12 +129,18 @@ class AlbumAdmin(admin.ModelAdmin): cover_preview.short_description = "Cover Preview" def formfield_for_foreignkey(self, db_field, request, **kwargs): - """Rajoittaa kansikuvan valintaa vain albumin omiin kuviin.""" + """ + Suodattaa 'cover'-valinnan niin, että se näyttää vain albumiin kuuluvat kuvat. + Uuden albumin luonnissa vaihtoehto pidetään tyhjänä. + """ if db_field.name == "cover": - if hasattr(request, 'resolver_match') and request.resolver_match.kwargs.get('object_id'): - album_id = request.resolver_match.kwargs['object_id'] + # Jos albumia ollaan luomassa (ei pk:ta), ei anneta mitään vaihtoehtoja + if request.resolver_match.kwargs.get("object_id") is None: + kwargs["queryset"] = Photo.objects.none() + else: + # Haetaan vain nykyiseen albumiin kuuluvat kuvat + album_id = request.resolver_match.kwargs.get("object_id") kwargs["queryset"] = Photo.objects.filter(album_id=album_id) - return super().formfield_for_foreignkey(db_field, request, **kwargs)