Моя функция вызывает возврат перед остальной частью кода
Итак, я пытаюсь в цикле просмотреть список классов на предмет совпадения или нет.
если есть совпадение, вернуть Response
и сказать, что есть совпадение
в противном случае зарегистрировать ученика
Я использую django
и django-restframework
Вот мой код
@api_view(['POST'])
@permission_classes([IsAuthenticated,])
def createOrderForOnlineClasses(request):
user = request.user
data = request.data
Class = OnlineClass.objects.get(id= data["classId"])
orderCred = {
'pin' : 'SOME_PIN',
'amount' : int(Class.totalPrice),
'callback' : 'http://localhost:3000/verify/',
}
for i in user.userprofile.onlineClass.all():
if i.id == Class.id:
return Response({"details": "Already registered"}, status=status.HTTP_400_BAD_REQUEST)
try:
response = requests.post("https://panel.aqayepardakht.ir/api/create", data=orderCred)
if response.status_code == 200 and not response.text.replace('-',"").isdigit():
# url ='https://panel.aqayepardakht.ir/startpay/'+response.text
registeredClass = RegisterStudentForOnlineClass.objects.create(
user=user,
totalPrice = int(Class.totalPrice),
transId = response.text,
onlineClassName= Class
)
serializer = RegisterForClassSerializer(registeredClass , many=False)
print(serializer.data)
return Response(serializer.data)
else:
return Response({"details": "Error"} , status= status.HTTP_400_BAD_REQUEST)
except Exception as e:
return Response({"details": f"{e}"})
return Response({"details":f"{Class}"}, status=status.HTTP_400_BAD_REQUEST)
Итак, проблема заключается в вызове функции the
return Response({"details":f"{Class}"}, status=status.HTTP_400_BAD_REQUEST)
первый и остальные не работают
Спасибо :)
Так что я нашел ответ, дело в том, что все, что вам нужно сделать, это сначала проверить, если
len(user.userporfile.onlineClass.all()) == 0
Если это так, сделайте остальное
else запустите цикл for