I had a similar issue recently, this is from my views.py file
def CircleAdd(request):
form = CircleAddForm(request.POST)
if form.is_valid():
Circle = form.save(commit=False)
Circle.Author = request.user
Circle = Circle.save()
And then I had a form for the 'circles' model, which was just a wrapper really (forms.py)
class CircleAddForm(ModelForm):
class Meta:
model = Circle
Remember to import the form in your view!
Edit: not even sure if you even need to bother with the separate form, the key bit is the fake commit, followed by the real