Я думаю, что это питонический способ ( "Просить прощения, а не разрешения" ) , чтобы проверить существование объекта, используя try..except
предложение
def accept(self, request, pk):
try:
Company.objects.get(pk=pk)
return Response({"message": "Success"})
except Company.DoesNotExist:
return Response({"message": "Error"}, status=status.HTTP_405_METHOD_NOT_ALLOWED)
Вы можете найти хороший ТАК пост здесь , который спрашивает то же самое в Django perspective
, который говорит, что exists()
быстрее try..except
Итак, вы можете переписать свой код примерно так:
def accept(self, request, pk):
if Company.objects.filter(pk=pk).exists():
return Response({"message": "Success"})
return Response({"message": "Error"}, status=status.HTTP_405_METHOD_NOT_ALLOWED)