What if I want to do something with my formset other than immediately saving it?
How can I do this?
for form in vehicles_formset.forms:
listing.id = None
listing.vehicle_year = form.cleaned_data['year']
listing.vehicle_make = form.cleaned_data['make']
listing.vehicle_model = form.cleaned_data['model']
listing.vin = form.cleaned_data['vin']
listing.vehicle_runs = form.cleaned_data['runs']
listing.vehicle_convertible = form.cleaned_data['convertible']
listing.vehicle_modified = form.cleaned_data['modified']
listing.save()
(Thus creating multiple listings) Apparently cleaned_data does not exist. There’s a bunch of stuff in the data dict like form-0-year but it’s pretty useless to me like that.
Have you called
vehicles_formset.is_valid()prior to your snippet above?Additionally, using a ModelForm in your formset will allow you to get a listing instance from the form by simply doing
listing = form.save(commit=False)