Выбор главного изображения во внешнем ключе
У меня есть следующие две модели:
class Event(models.Model):
title = models.CharField(max_length=250)
description = RichTextField()
start_date = models.DateField()
start_time = models.TimeField()
end_date = models.DateField(blank=True, null=True)
end_time = models.TimeField(blank=True, null=True)
location = models.CharField(max_length=100)
volunteers = models.PositiveIntegerField(default=0)
sdgs = models.ManyToManyField(SDG)
def __str__(self):
return f'{self.title}'
class EventPhoto(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
photo = models.ImageField(upload_to='events/photos')
Один объект Event может содержать несколько фотографий, может 1, может 10, а может 100.
Я использую следующий код внутри моего admin.py файла.
class EventPhotosInline(admin.StackedInline):
model = EventPhotos
@admin.register(Event)
class EventAdmin(admin.ModelAdmin):
inlines = [EventPhotosInline,]
Приведенный выше код позволяет мне добавлять объекты EventPhoto во время добавления нового события в приборной панели администратора.
Мой вопрос заключается в том, как мне выбрать одну из многих фотографий в качестве главной фотографии события? Я мог бы легко создать поле изображения внутри модели Event с именем main_photo, но в будущем, если мне нужно будет изменить главную фотографию, я должен буду загрузить новую, все, что мне нужно, это просто использовать одно из многих загруженных изображений в качестве главной фотографии.
Как мне создать что-то похожее на то, что я хочу?!
Я также попробовал добавить поле boolean в модель EventPhoto, которое добавляет флажок, но когда я устанавливаю один из флажков, а затем пытаюсь выбрать другую фотографию, выбираются обе, а я хочу только одну, поэтому нужно отменить выбор старой фотографии и выбрать новую.
Надеюсь, моя идея понятна вам, ребята, и заранее большое спасибо.