Форум сайта python.su
Здраствуйте! Никак не могу сделать так, что б клиент мог загрузить 5 картинок:
Вот модель:
class Photo(models.Model): equipment=models.ForeignKey(Equipment, blank=True, null=True, on_delete=models.SET_NULL) photo=models.ImageField(upload_to='/path') class Meta: db_table='equipment_photos' verbose_name_plural = 'equipment_photos'
class CreateEquipmentPhotoView(CreateView): form_class=EquipmentPhotoFormSet template_name='equipment/add_photo.html' def get_form_kwargs(self, *args, **kwargs): kwargs = super(CreateEquipmentPhotoView, self).get_form_kwargs() kwargs['pk'] = self.kwargs['pk'] kwargs['request'] = self.request return kwargs def get_queryset(self): return Photo.objects.filter(equipment__owner=self.request.user) def get_success_url(self): return reverse_lazy('galary')
EquipmentPhotoFormSet=modelformset_factory(Photo, extra=5)
Офлайн
Нифига не понял. В модели ОДНО поле для изображения. Как вы хотите одним реквестом создать ПЯТЬ объектов, при этом не написав ни строчки дополнительного кода? Видимо надо из реквеста получить пять изображений и в цикле создать пять соответствующих объектов.
Офлайн
FishHookмне нужно:
Нифига не понял. В модели ОДНО поле для изображения. Как вы хотите одним реквестом создать ПЯТЬ объектов, при этом не написав ни строчки дополнительного кода? Видимо надо из реквеста получить пять изображений и в цикле создать пять соответствующих объектов.
Отредактировано eboome (Март 26, 2015 12:13:29)
Офлайн
CreateView не умеет работать с FormSet. Если вы хотите использовать CBV - то попробуйте django-extra-views
Офлайн