Example #1
0
 def post(self, request):
     form = CreateProductForm(request.POST)
     formset = ImagesFormSet(request.POST, request.FILES, queryset=ProductImage.objects.none())
     if form.is_valid() and formset.is_valid():
         product = form.save()
         for form in formset.cleaned_data:
             image = form.get('image')
             if image is not None:
                 pic = ProductImage(product=product, image=image)
                 pic.save()
         return redirect(product.get_absolute_url())
     else:
         print(form.errors, formset.errors)
Example #2
0
 def post(self, request, pk):
     product = get_object_or_404(Product, pk=pk)
     form = CreateProductForm(instance=product, data=request.POST)
     formset = ImagesFormSet(request.POST, request.FILES, queryset=product.images.all())
     if form.is_valid() and formset.is_valid():
         product = form.save()
         print(formset.deleted_forms)
         for form in formset.cleaned_data:
             image = form.get('image')
             if image is not None and not ProductImage.objects.filter(product=product, image=image).exists():
                 pic = ProductImage(product=product, image=image)
                 pic.save()
         for form in formset.deleted_forms:
             print(form.cleaned_data)
             image = form.cleaned_data.get('id')
             if image is not None:
                 image.delete()
         return redirect(product.get_absolute_url())
     else:
         print(form.errors, formset.errors)