Fix new album create form
This commit is contained in:
parent
12ebccd03c
commit
bac62c6d6d
1 changed files with 10 additions and 4 deletions
|
@ -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)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue