b_valid = formB.is_valid()
c_valid = formC.is_valid()
if a_valid and b_valid and c_valid:
    a = formA.save()
b = formB.save(commit=False)
c = formC.save(commit=False)
b.foreignkeytoA = a
b.save()
c.foreignkeytoB = b
c.save()
Django: multiple models in one template using forms