title: Django Assign M2M after Saving
body: <p>I'm working on a project in Django and I have the following problem:</p>
  
  <p>I have these two classes, Team and Project. When I create one project I want to automatically assign users from the team what was selected when I created the Project to the new project.
  I override Project's save method and after the project was created assign users to the project(I did after saving because, before gave me an error). I tried of several ways but none of them works. 
  Tried by:</p>
  
  <pre><code>self.user.add(*self.team.users.all())
  self.save()
  </code></pre>
  
  <p>And this doesn't work.</p>
  
  <p>Tried iterating:</p>
  
  <pre><code>for uTeam in self.team.users.all():
      self.users.add(uTeam)
  </code></pre>
  
  <p>and doesn't work either.</p>
  
  <p>The only way that work for me is this, but only in the Django Shell:</p>
  
  <pre><code>P = Project.objects.get(pk=1)
  T = Team.objects.get(pk=1)
  P.user.add(*T.user.all())
  P.save()
  </code></pre>
  
  <p>This is the solution that I have below but doesn't work in Django(gives an infinite loop)</p>
  
  <pre><code>class Team(models.Model):
      name = models.CharField(max_length=200,
                              help_text=_('name of the team'))
      user = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                  related_name="members_of_team",
                                  help_text=_('users of the team'),
                                  null=True
                                  )
      and more....
  
  
  class Project(models.Model):
      id = models.AutoField(primary_key=True, null=False)
      name = models.CharField(max_length=200,
                              help_text=_('name of project'),
                              )
      team = models.ForeignKey(Team,`enter code here`
                               on_delete=models.PROTECT,
                               help_text=_('team of project'))
      created_by = models.ForeignKey(settings.AUTH_USER_MODEL,
                                    on_delete=models.PROTECT,
                                    related_name='creator_project',
                                    blank=True,
                                    null=False,
                                    help_text=_('project created by'))
      customer = models.ForeignKey(Customer,
                                  on_delete=models.PROTECT,
                                  help_text=_('customer'))
      user = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                    related_name='users_team',
                                    blank=True,
                                    null=False,
                                    help_text=_('users of this project'))
  
  
     def save(self, *args, **kwargs):
  
       if self.checkIntegrity():
         super(Project, self).save(*args, **kwargs)
         if self.user.all().count() &lt; self.team.user.all().count():
           T = Team.objects.get(pk=self.team.id)
           P = Project.objects.get(pk=self.id)
           P.user.add(*T.user.all())
           P.save()
  </code></pre>
  
  <p>Thank you for your help</p>