def cardetails(request, template='main/account/profile.html'): instance = request.user.driver.car if hasattr(request.user.driver,'car') else None if request.method == 'POST': # create a form instance and populate it with data from the request: carform = CarForm(request.POST, prefix='car', instance=instance, user=request.user) # check whether it's valid: if carform.is_valid(): car = carform.save(commit=False) car.driver = request.user.driver #import pdb;pdb.set_trace() car.save() messages.info(request, _("Your car details have been saved!")) return redirect('profile') # if a GET (or any other method) we'll create a blank form else: carform = CarForm(prefix='car', instance=instance, user=request.user) userform = ProfileForm(prefix='user', instance=request.user) return render(request, template, {'carform': carform, 'userform': userform})
def cardetails(request, template='main/account/cars.html'): fs_instance = request.user.driver.car if hasattr(request.user,'driver') and hasattr(request.user.driver,'car') else None CarImageFormSet = inlineformset_factory(Car, CarImage, formset=BaseCarimageFormset, fields=('image',), max_num=6, extra=1, widgets={'image': forms.FileInput()}) formset = CarImageFormSet(instance=fs_instance, user=request.user) instance = request.user.driver.car if hasattr(request.user.driver,'car') else None carform = CarForm(prefix='car', instance=instance, user=request.user) if request.method == 'POST': # create a form instance and populate it with data from the request: carform = CarForm(request.POST, prefix='car', instance=instance, user=request.user) # check whether it's valid: if carform.is_valid(): car = carform.save(commit=False) car.driver = request.user.driver #import pdb;pdb.set_trace() car.save() messages.info(request, _("Your car details have been saved!")) return redirect('cars') userform = ProfileForm(prefix='user', instance=request.user) return render(request, template, {'carform': carform, 'formset': formset})