C.R.U.D2 과제 코드 리뷰(OwnerView)
class OwnerView(View): #주인 정보를 등록하고 가져오는 클래스 생성 def post(self, request) #프론트에서 요청하는 데이터가 request 인자에 담김 data = json.loads(request.body) #프론트에서 넘어오는 데이터는 json형태로 넘어오기 때문에 파이썬으로 가공한 후 받아야 하는데, 그 역할을 loads함수가 해줌. Owner.objects.create( #create함수를 통해 프론트에서 요청한 데이터를 생성 name = data['name'], #파이썬으로 가공한 데이터가 담긴 data변수를 email = data['email'], #통해 데이터베이스에 데이터 입력 age = data['age'] ) return JsonResponse({"Message": "Success"}, status=200) #마지막으로 응답을 리턴해줌 def get(self, request): #프론트에게 정보를 넘겨주어야 하는 get메소드 result = [] #파이썬에서 json형태로 변환하여 데이터를 넘겨주어야 하기 때문에 변환이 가능한 형태인 리스트에 데이터를 담아야함 owners = Owner.objects.all() #주인의 모든 데이터를 쿼리셋 형태로 변수에 저장 for owner in owners: #주인 데이터를 for문을 통해 한개씩 꺼냄 dogs = owner.dog_set.all() #각 주인에 대해 역참조 되어있는 강아지의 데이터를 _set함수를 통해 가져옴 dog_list = [] for dog in dogs: #for문을 통해 강아지의 정보를 딕셔너리에 추가함 dog_information = { 'name': dog.name, 'age' : dog.age } dog_list.append(dog_information) owner_information = { #주인의 정보도 딕셔너리에 추가함 'name ': owner.name, 'email': owner.email, 'age' : owner.age, 'dogs' : dog_list } result.append(owner_information) return JsonResponse({'result': result}, status=200) #JsonResponse를 통해 리스트에 담아놓은 result값을 리턴해줌.
Author And Source
이 문제에 관하여(C.R.U.D2 과제 코드 리뷰(OwnerView)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeonhs2482/C.R.U.D2-과제-코드-리뷰OwnerView저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)