[Answer]-How to make a form that creates a new object and objects related by foreign keys in one request?

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})

Leave a comment