Fix new album create form

This commit is contained in:
Nyymix 2025-03-29 18:13:55 +02:00
parent 12ebccd03c
commit bac62c6d6d

View file

@ -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)