Caso
Estou fazendo o challenge back-end-7 e no meu settings.py eu defini a seguinte classe de autenticação padrão:
'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework.authentication.BasicAuthentication']
Porém uma das atividades era a seleção aleatória de 3 depoimentos do banco de dados, e eu fiz desse jeito na minha views:
...
class DepoimentoHomeViewSet(viewsets.ModelViewSet):
'''Listando 3 depoimentos aleatórios'''
serializer_class = DepoimentoSerializer
http_method_names = ['get']
def get_queryset(self):
depoimentos = Depoimento.objects.all()
queryset = random.sample(list(depoimentos), k=3)
return queryset
...
Com isso, por conta de a minha queryset ter se tornado uma lista, no processo de autenticação é apontado um erro:
Para solucionar esse erro eu adicionei o permission_classes = [IsAuthenticated]
na minha views, o que fez funcionar perfeitamente.
Dúvida:
Gostaria de saber se esse é o método mais certo a se fazer? Por conta de eu ter liberado a permissão. Ou, se seria melhor eu buscar outro método de apresentar os 3 depoimentos aleatoriamente.
Pois na minha cabeça não faz muito sentido eu bloquear o acesso para autenticação e depois permitir o acesso kkkkk
(Mandei essa duvida aqui pois na seção de dúvidas no discord não consegui resolver)