title: Django - Update certain fields of a ModelForm
body: <p>Model:</p>
  
  <pre><code>class Session(models.Model):
    tutor = models.ForeignKey(User)
    start_time = models.DateTimeField()
    end_time = models.DateTimeField()
    status = models.CharField(max_length=1)
  </code></pre>
  
  <p>Form:</p>
  
  <pre><code>class SessionForm(forms.ModelForm):
    class Meta:
      model = Session
      exclude = ['tutor']
  </code></pre>
  
  <p>Testing:</p>
  
  <pre><code>&gt;&gt;&gt; ses = Session.objects.get(pk=1)
  &gt;&gt;&gt; ses
  &lt;Session: Robert - 2012-04-18 13:00:00&gt;
  &gt;&gt;&gt; form = SessionForm(instance=ses)
  </code></pre>
  
  <p>Now for example, I'd like to update only the <code>status</code> of this instance and save it.<br>
  How can I do that ?</p>
  
  <hr>
  
  <p><strong>edit</strong></p>
  
  <p>Template:</p>
  
  <pre><code>&lt;form action="fhjsdhkl" method="POST"&gt;{{ csrf_token }}
    &lt;input name="start_time" /&gt;
    &lt;input name="end_time" /&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>Trying to post only these 2 fields:</p>
  
  <pre><code>if request.method == 'POST':
    form = SessionForm(request.POST)
    if request.POST['id']:
      try:
        s = Session.objects.get(pk=request.POST['id'])
        form.instance = s
      except Session.DoesNotExist:
        pass
    if form.is_valid():
      form.save()
  </code></pre>
  
  <blockquote>
    <p>The Session could not be changed because the data didn't validate.</p>
  </blockquote>
  
  <p>The error return by the form is</p>
  
  <blockquote>
    <p>status - This field is required</p>
  </blockquote>
  
  <p>The fields that I need to update are not fixed, and I'd like to avoid posting all the fields each time. Do I have to make a different form for each case ?</p>