title: Only can save part of data to database
body: <p>I have </p>
  
  <blockquote>
    <p>models.py</p>
  </blockquote>
  
  <pre><code>......
  class CatalogGroup(models.Model):
      name = models.CharField(max_length=100, blank=True, null=True)
      def __unicode__(self):
          return self.name
  
  class Place(models.Model):
      name = models.CharField(max_length=100, blank=True, null=True)
      def __unicode__(self):
          return self.name
  
  
  class Scale(models.Model):
      name = models.CharField(max_length=100, blank=True, null=True)
      def __unicode__(self):
          return self.name
  
  
  
  class ProductsTbl(models.Model):
      model_number = models.CharField(max_length=255, blank=True, unique=True,error_messages={'unique':"This model number has already been registered."})
      name = models.CharField(max_length=255, blank=True, null=True)
      material = models.CharField(max_length=255,blank=True, null=True)
      color = models.CharField(max_length=255, blank=True, null=True)
      feature = models.TextField(blank=True, null=True)
      created = models.DateTimeField(editable=False)
      modified = models.DateTimeField(auto_now=True)
      release = models.DateTimeField(blank=True, null=True)
      suggest = models.TextField(blank=True, null=True)
      description = models.TextField(blank=True, null=True)
      cataloggroup = models.ManyToManyField(CatalogGroup)
      place = models.ManyToManyField(Place)
      scale = models.ManyToManyField(Scale)
      slug = models.SlugField(unique=True)
      user = models.ForeignKey(User, blank=True, null=True)
      useredit = models.CharField(max_length=32, blank=True, null=True)
      image = models.ImageField(upload_to=get_imagep_Product, blank=True)
  
      def __unicode__(self):
          return self.name
      def save(self, *args, **kwargs):
          ''' On save, update timestamps '''
  
          if not self.id:
              self.created = timezone.now()
  
          return super(ProductsTbl, self).save(*args, **kwargs)
  .....
  </code></pre>
  
  <p>and I need update the database if any user modified the data in the form, so I have:</p>
  
  <blockquote>
    <p>views.py</p>
  </blockquote>
  
  <pre><code>.......
  @login_required
  def edit_thing(request, slug):
  # grab the object...
      thing = ProductsTbl.objects.get(slug=slug)
      if thing.user != request.user:
          raise Http404
  # set the form we're using...
      form_class = ProductsTblForm
      if request.method == 'POST':
  # grab the data from the submitted form
          form = form_class(data=request.POST,files=request.FILES,instance=thing)
  
          if form.is_valid():
              form = form.save(commit=False)
              form.useredit = request.user.username
  
  
              form.save()
              return redirect('thing_detail', slug=thing.slug)
  # otherwise just create the form
      else:
          form = form_class(instance=thing)
  # and render the template
      return render(request, 'things/edit_thing.html', {
          'thing': thing,
          'form': form,
      })
  .........
  </code></pre>
  
  <p>however, after I submited the data, it has only part of data can save in database, those three data below can not be save </p>
  
  <pre><code>cataloggroup = models.ManyToManyField(CatalogGroup)
  place = models.ManyToManyField(Place)
  scale = models.ManyToManyField(Scale)
  </code></pre>
  
  <p>I do not know why these three data can not save in ?? </p>
  
  <p>and if I removed </p>
  
  <blockquote>
    <p>form = form.save(commit=False)</p>
  </blockquote>
  
  <p>from the</p>
  
  <blockquote>
    <p>views.py</p>
  </blockquote>
  
  <p>, the </p>
  
  <blockquote>
    <p>form.useredit = request.user.username</p>
  </blockquote>
  
  <p>will not work, but can save those three data to database, however I have to let the useredit update to user who modified the data.</p>