Django API: Как получить все объекты, соответствующие определенному значению в поле UUID

при попытке запросить объекты по их полю foreignkey, мне не удается получить никаких подробностей. Идентификатор компании является и uuid (uuid4) полем.

У меня есть модель под названием "контакты":

class Contact(models.Model):
    firstname = models.CharField(max_length=35)
    lastname = models.CharField(max_length=35)
    company = models.ForeignKey(Company, on_delete=models.CASCADE)

Я хочу получить все контакты, которые работают в одной компании. Поэтому я создал ListAPIView в файле views.py Views.py

class ContactViewSet(viewsets.ModelViewSet):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializer


class CompanyContactsListView(generics.ListAPIView):
    serializer_class = ContactSerializer

    def get_queryset(self):
        company = self.kwargs['company']
        return Contact.objects.filter(company=company)

Для получения URL я добавил путь в urls.py

urlpatterns = [
    path('', include(router.urls)),
    path('contacts/<uuid:company>/', CompanyContactsListView.as_view(), name='contacts')
]

Проблема в том, что когда я пытаюсь пройти по этому пути и ввести UUID компании, которая существует и имеет связанные контакты, я получаю следующую ошибку

HTTP 404 Not Found
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "detail": "Not found."
}

Возможно ли, что мой URL неверен и поэтому я не могу запросить ListAPIView? Потому что мне нужен результат, подобный этому:

[
    {
        "id": 1,
        "firstname": "Joshuah",
        "lastname": "Bankhurst",
        "company": "e871c47b-9b91-4cf9-94a6-e8135510c11d"
    },
    {
        "id": 2,
        "firstname": "Clayborn",
        "lastname": "Sylett",
        "company": "e871c47b-9b91-4cf9-94a6-e8135510c11d"
    }
]

Заранее спасибо!

Похоже, что запрос не соответствует полю uuid pk в методе get queryset. Если предположить, что в kwargs передается uuid компании, запрос должен соответствовать pk модели Company.

class CompanyContactsListView(generics.ListAPIView):
    serializer_class = ContactSerializer

    def get_queryset(self):
        company_uuid = self.kwargs['company']
        return Contact.objects.filter(pk=company_uuid)
Вернуться на верх