к одному посту прикрепляются несколько фотографий через отдельную модель и MultiFileFieldfield, суть проблемы в том, что я не могу понять, и найти в поисковике как мне при редактировании через форму отобразить уже загруженные фото в MultiFileField?
Возможно есть какие-то способы получше для загрузки нескольких фото к посту с дальнейшей возможностью редактирования в форме?
models
class Photo(models.Model):
image = models.ImageField(upload_to='institutions/ads')
ads = models.ForeignKey(AdsModel, related_name='photos', on_delete=models.CASCADE)
class AdsModel(models.Model):
title = models.CharField(max_length=100, verbose_name='Заголовок объявления')
slug = models.SlugField(unique=True)
category = models.ForeignKey(CategoriesAds, on_delete=models.PROTECT, verbose_name='Категория', related_name='category_ads')
content = models.TextField()
....
form
class AddAdsForm(ModelForm):
photos = forms.ImageField(widget=forms.ClearableFileInput(attrs={'multiple': True,
}), required=False)
class Meta:
model = AdsModel
fields = ['title', 'category', 'content', 'photo', 'phone', 'price']
view
class AddAdsView(FormView):
form_class = AddAdsForm
template_name = 'institutions/add_ads.html'
success_url = '/'
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
photos = request.FILES.getlist('photos')
if form.is_valid():
id = form.save().pk
ads = AdsModel.objects.get(pk=id)
if photos:
for f in photos:
fl = Photo(ads=ads, image = f)
fl.save()
return self.form_valid(form)
else:
return self.form_invalid(form)