if User.objects.filter(email = data['email']):
return JsonResponse({'MESSAGE':'USER_ALREADY_EXISIS'},status=400)
if User.objects.filter(nickname = data['nickname']):
return JsonResponse({'MESSAGE':'USER_ALREADY_EXISIS'},status=400)
if User.objects.filter(phone_number=data['mobile']):
return JsonResponse({'MESSAGE':'USER_ALREADY_EXISIS'},status=400)
if으로 구성된 코드를 Q객체를 이용하게 되면
if User.objects.filter(
Q(email = data['email'])|
Q(nickname = data['nickname'])|
Q(phone_number = data['mobile'])).exists():
return JsonResponse({'MESSAGE':'USER_ALREADY_EXISIS'},status=400)
확 줄일수 있다. Q객체를 이용할때는exits()
사용해주어야 한다.
그이유는 filter
통해서 레코드가 존재유무를 판별하는데 그때 exists()함수가 있으면 True 혹은 False로 구분지어주기 떄문이다.
Q객체는 장고 문서에도 있다.