AttributeError: o objeto 'ManyToManyField' não possui atributo '_m2m_reverse_name_cache'

Estou tentando atribuir o gerente de projeto ao funcionário.

Todo funcionário pode ser gerente de projeto.

Os gerentes de projeto podem ter vários funcionários.

Os funcionários podem ter apenas 1 gerente de projeto.

Mas quando eu façoEmployee.objects.get(name='HereHere').get_xxx()

Eu tenhoAttributeError: 'ManyToManyField' object has no attribute '_m2m_reverse_name_cache'

class Employee(models.Model):
    name = models.CharField(max_length=20, unique=True)
    pm = models.ManyToManyField('self', symmetrical=False, through='PM', related_name='related_to', )

    def add_pm(self, employee, ):
        pm, created = PM.objects.get_or_create(from_employee=self, to_employee__in=employee,)
        return pm

    def remove_pm(self, employee, ):
        PM.objects.filter(
            from_employee=self,
            to_employee=employee,
        ).delete()
        return

    def get_relationships(self, ):
        return self.pm.filter(
            to_employee__from_employee=self)   #<----- AttributeError: 'ManyToManyField' object has no attribute '_m2m_reverse_name_cache'

    def get_related_to(self,):
        return self.related_to.filter(
            from_employee__to_employee=self)    #<----- AttributeError: 'ManyToManyField' object has no attribute '_m2m_reverse_name_cache'


    def __str__(self):
        return '%s' % self.name


class PM(models.Model):
    from_employee = models.ForeignKey(Employee, related_name='from_employee')
    to_employee = models.ManyToManyField(Employee, related_name='to_employee') #<----- This cause the problem

questionAnswers(1)

yourAnswerToTheQuestion