Reputation: 110562
Is there a way to do the following in one line in addition to the form definition, instead of three? I find myself doing something like this quite frequently --
form = EmploymentForm(data=request.POST or None, request=request)
employment_object = form.save(commit=False)
employment_object.user = profile
employment_object.save
Thank you.
Can do this:
form = EmploymentForm(data=request.POST or None, request=request)
form.instance.user = profile
...
Upvotes: 1
Views: 163
Reputation: 11046
No there isn't, afaik. I know i'll be getting a -1 for this answer.
Upvotes: 0
Reputation: 130004
Well, you could refactor it into a function.
def save_with_user(form, user):
obj = form.save(commit = False)
obj.user = user
obj.save()
# ...
form = EmploymentForm(data=request.POST or None, request=request)
save_with_user(form, profile)
Upvotes: 2