Разница между list() и get_queryset() в ModelViewSet - Django?

Если я хочу переопределить поведение действия list набора viewset, какую функцию я должен переопределить?

У меня есть следующий набор представлений и модель:

class UsecaseViewSet(viewsets.ModelViewSet):
    serializer_class = UsecaseSerializer
    queryset = Usecase.objects.all()
    authentication_classes = (authentication.JWTAuthentication,)
    permission_classes = (permissions.DjangoModelPermissions,)

class Usecase(models.Model):
    id = models.BigAutoField(primary_key=True)
    name = models.CharField(max_length=255)
    .........
            

Когда вызывается действие list, я хочу добавить несколько полей из другой модели. Я хочу фильтровать по usecase_id и получать run_time и т.д. из этой модели.

class UsecaseJobLogs(models.Model):
    id = models.BigAutoField(primary_key=True)
    date = models.DateField(auto_now=True)
    run_time = models.TimeField()
    job_id = models.IntegerField()
    usecase = models.ForeignKey(Usecase,db_column='usecase_id')

В классе ModelViewSet присутствует метод list. Для получения более подробной информации вы можете обратиться сюда: https://www.cdrf.co/3.12/rest_framework.viewsets/ModelViewSet.html#list

Вернуться на верх