title: Override form.save() to not create new record but update existing record in db table each time it is executed
body: <p>I was trying hard to prevent the creation of new row in the database table when I save the form in my view.</p>
  
  <p>I have below code in my view </p>
  
  <pre><code>def checker(request):
    response_data=''
    if request.method == "POST":
      user_form1 = DocumentForm(request.POST, request.FILES) 
      if user_form1.is_valid(): 
          new_form = user_form1.save(commit=False)
          new_form.save()  # Image file gets uploaded in the server and new row gets created each time this gets executed
          user_form1.save_m2m()
          res=td_tab.objects.filter(id=request.session.get('proid')).update(profpicpath=new_form.profpicpath.url)
          response_data = 'Updated response'
  else:
      form = DocumentForm() 
      response_data = 'Nothing to update!'
  return HttpResponse(response_data, content_type="text/plain")
  </code></pre>
  
  <p>Form :</p>
  
  <pre><code>class DocumentForm(forms.ModelForm):
      profpicpath = forms.FileField()
      class Meta:
          model = td_tab
          fields = ('profpicpath',)
  </code></pre>
  
  <p>model has several fields apart from profpicpath.</p>
  
  <p>The problem is, in my view when new_form.save() gets executed, it is creating new record in the database table :(</p>
  
  <p>I want the existing record to be updated for specific proid.. 
  surprisingly, below line doesn't work in view.. even if i make it work, new row gets created and only profpicpath field is getting populated in the database table with the latest entry :(</p>
  
  <pre><code>res=td_tab.objects.filter(id=request.session.get('proid')).update(profpicpath=new_form.profpicpath.url)
  </code></pre>
  
  <p>How can I prevent creation of new record in td_tab table on every request that is made for checker view ?</p>
  
  <p>Or may be is there some trick to override save() method for form, such that it just updates the existing record rather creating new record for each of its execution ?</p>