async def METHOD_NAME(self):
    value = "Da-PK-for-M2M"
    instance = await CharPkModel.create(id=value)
    instance2 = await CharPkModel.create(id=uuid.uuid4())
    related_instance = await CharM2MRelatedModel.create()
    related_instance2 = await CharM2MRelatedModel.create()
    await instance.peers.add(related_instance)
    await related_instance2.models.add(instance, instance2)
    await related_instance.fetch_related("models")
    self.assertEqual(len(related_instance.models), 1)
    self.assertEqual(related_instance.models[0], instance)
    await related_instance2.fetch_related("models")
    self.assertEqual(len(related_instance2.models), 2)
    self.assertEqual({m.pk for m in related_instance2.models}, {instance.pk, instance2.pk})
    related_instance_list = await CharM2MRelatedModel.filter(models=instance2)
    self.assertEqual(len(related_instance_list), 1)
    self.assertEqual(related_instance_list[0], related_instance2)
    related_instance_list = await CharM2MRelatedModel.filter(models__in=[instance2])
    self.assertEqual(len(related_instance_list), 1)
    self.assertEqual(related_instance_list[0], related_instance2)