Как предоставить начальные данные для ForeignKey в ModelFormSet?
У меня есть эта штука.
Вот отношения моих моделей
Для определения события у вас есть Place, QR Link и ImageAlbum, который имеет до пяти Images.
Событие может иметь или не иметь Место
В событии ДОЛЖНО присутствовать главное изображение, которое отмечается атрибутом main в форме Image.
Все формы находятся на одной странице, все они обрабатываются одним Submit
Теперь мои проблемы начинаются и заканчиваются в отделе форм, у меня есть несколько типовых форм:
#FORMS FILE
class EventForm(ModelForm):
date_time_start = forms.DateTimeField(input_formats=["%Y-%m-%d"], required=True, widget=forms.DateTimeInput(format="%Y-%m-%d", attrs={"id": "cal_start", "placeholder": "yyyy-mm-dd"}))
has_place = forms.BooleanField()
class Meta:
model = Event
fields = ['title', 'subtitle', 'phrase', 'date_time_start', 'prices', 'has_place']
class BaseImageFormSet(BaseModelFormSet):
def clean_main(self):
"""Checks that there is only one main image"""
if any(self.errors):
return
boolean_arr = []
for form in self.forms:
if self.can_delete and self._should_delete_form(form):
continue
main_data = form.cleaned_data.get('main')
main = main_data if main_data is not None else False
if sum(boolean_arr) > 1:
raise ValidationError('There can only be one main image.')
boolean_arr.append(main)
class PlaceForm(ModelForm):
class Meta:
model = EventPlace
exclude = ['uuid', 'event']
class QRForm(ModelForm):
class Meta:
model = EventQR
exclude = ['uuid', 'event']
Моя головная боль связана с изображениями, я должен сделать ModelFormSet изображений, но я должен сначала создать альбом, который связывает изображения с событием.
Вот мои взгляды:
Как бы вы сохранили изображения?
И все событие с его зависимостями.
Помогите пожалуйста, я уже застрял