1
Inline formsets are indeed the way you want to go. You’ll want to do something along the lines of:
def add_recipe(request):
if request.method == 'POST':
form = RecipeForm(data=request.POST)
if form.is_valid():
recipe = form.save(commit=False)
steps_formset = StepsFormSet(data=request.POST, instance=recipe)
if steps_formset.is_valid():
recipe.save()
steps_formset.save()
else:
steps_formset = StepsFormSet(data=request.POST)
else:
form = RecipeForm()
steps_formset = StepsFormSet()
return render(request, 'recipe_entry.html', {'form': form, 'steps_formset': steps_formset})
Source:stackexchange.com