models.py

conectando el modelo con el manager

#
from model_utils.models import TimeStampedModel
#
from django.db import models

#
from .managers import ReunionManager

class Hobby(TimeStampedModel):
    hobby = models.CharField(
        'Pasatiempo',
         max_length=50,
    ) 

    class Meta:
        verbose_name='Hobby'
        verbose_name_plural='Hobbies'

    def __str__(self):

        return self.hobby

#
class Person(TimeStampedModel):
    full_name = models.CharField(
        'Nombres', 
        max_length=50,
    )
    job = models.CharField(
        'Trabajo', 
        max_length=30,
        blank=True
    )
    email = models.EmailField(
        blank=True, 
        null=True
    )
    phone = models.CharField(
        'telefono',
        max_length=15,
        blank=True,
    )

    hobbies = models.ManyToManyField(Hobby) 


    class Meta:
        verbose_name = 'Persona'
        verbose_name_plural = 'Personas'
    
    def __str__(self):
        return self.full_name



class Reunion(TimeStampedModel):
    persona = models.ForeignKey(
        Person, 
        on_delete=models.CASCADE
    )
    fecha = models.DateField()
    hora = models.TimeField()
    asunto = models.CharField(
        'Aunto de Reunion',
        max_length=100
    )
    
    objects=ReunionManager()

    class Meta:
        verbose_name = 'Reunion'
        verbose_name_plural = 'Reunion'
    
    def __str__(self):
        return self.asunto

serialyzers.py

class PersonSerializer(serializers.ModelSerializer):
    class Meta:
        model=Person
        fields=(
            '__all__'
        )

class CountReunionSerializer(serializers.Serializer):
    persona__job=serializers.CharField()
    cantidad=serializers.IntegerField()

managers.py

from django.db import models
#
from django.db. models import Count

class ReunionManager(models.Manager):

    def cantidad_reuniones_job(self):
        resultado=self.values('persona__job').annotate(
            cantidad=Count('id')
        )
        return resultado

views.py


class ReunionByPersonJob(ListAPIView):
    serializer_class= ReunionSerializer

    def get_queryset(self):
        return Person.ojects.cantidad_reuniones_job()

urls.py

#
from django.urls import path,re_path
#
from .import views

app_name='persona_app'

urlpatterns = [
        path(
        'api/reuniones-link/',
        views.ReunionApilistaLink.as_view(),
        name=''
    ),
]