DEV Community

Discussion on: Django inline formsets with Class-based views and crispy forms

Collapse
 
unknown9421 profile image
Hoàng • Edited

I did like you. But it was not working. Somebody can help me.

==================================================================
class CompanyEdit(UpdateView):
model = Company
form_class = CompanyForm
template_name = 'frontend/company/createdit.html'
context_object_name = 'company'
success_message = 'Company Information Updated!'

def get_context_data(self, **kwargs):
    context = super(CompanyEdit, self).get_context_data(**kwargs)
    if self.request.POST:
        context['pictures'] = CompanyPictureFormSet(self.request.POST, self.request.FILES, instance=self.object)
    else:
        context['pictures'] = CompanyPictureFormSet(instance=self.object)
    return context

def form_valid(self, form):
    # update_instace = form.save(commit=False)
    context = self.get_context_data()
    pictures = context['pictures']
    with transaction.atomic():
        form.instance.created_by = self.request.user.username
        self.object = form.save()
        pictures.instance = self.object
        if pictures.is_valid():   # This is always return False.
            print(pictures.instance)
            pictures.save()