Разница между 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