TIL Qオブジェクトとは?
Django model ORMは、whereセクションでor文を使用するときにQオブジェクトを使用することを示します.
今回westeargramを作成する際にqオブジェクトを使用しました.
qオブジェクトを使用する前に
Qオブジェクトを使用する場合は簡略化(and orとは無関係)のためであることは知っていますが、qオブジェクトをさらに検索すると、or文を使用する場合にのみ使用されることがわかります.
この繰返し値についても、エラーはbad requestで、最初はエラー値が401だと思っていましたが、指導者はこの部分をもっと検索してみました.その結果、繰返しには409のエラーがあることがわかりました.
今回westeargramを作成する際にqオブジェクトを使用しました.
qオブジェクトを使用する前に
if Signup.objects.filter(email = email).exists():
return JsonResponse({'message': '이메일값이 중복되었습니다.'},
status= 401)
if Signup.objects.filter(nickname = nickname).exists():
return JsonResponse({'message': '닉네임값이 중복되었습니다.'},
status= 401)
if Signup.objects.filter(phone_number = phone_number).exists():
return JsonResponse({'message': '핸드폰번호가 중복되었습니다.'},
status= 401)
qオブジェクトを使用した後
if User.objects.filter(
Q(nickname = nickname) | Q(phone_number = phone_number) | Q(email = email)):
return JsonResponse({'message': '입력값이 중복되었습니다.'}, status= 409)
知るところQオブジェクトを使用する場合は簡略化(and orとは無関係)のためであることは知っていますが、qオブジェクトをさらに検索すると、or文を使用する場合にのみ使用されることがわかります.
この繰返し値についても、エラーはbad requestで、最初はエラー値が401だと思っていましたが、指導者はこの部分をもっと検索してみました.その結果、繰返しには409のエラーがあることがわかりました.
Reference
この問題について(TIL Qオブジェクトとは?), 我々は、より多くの情報をここで見つけました https://velog.io/@sjwm98/TIL-Q객체란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol