역참조와 리스트 컨프리헨션
예시로 작성한 모델과 뷰파이 (이중 리스트 컨프리헨션 사용하기 위함)
#models.py
class Review(models.Model):
name = models.Models.CharFiled( )
product = models.Models.ForeinKey(User)
user = models.Models.ForeinKey(Product)
class Image(models.Model):
product = models.Models.ForeinKey(Product)
image_url = models.Models.ForeinKey
#views.py --> review 정보를 불러오는 view
class ReviewView(View):
def get(self, request, product_id):
reviews = Review.objects.filter(product_id = product_id)
results = [{
'date' : review.created_at.strftime('%Y.%m.%d.%a'), #'2021.12.16.Thu'
'kakao_id' : review.user.kakao_id,
'product_name' : review.product.name,
'content' : review.content,
'image_url' : [i.url for i in review.reviewimage_set.all()] #--> review테이블이
#reviewimage테이블한테 참조 당하고 있음.그래서 역참조 해야함. 방금 뽑은 i라는 객체를 json형태로 반환이 불가능하므로, 그거의 속성값으로 반환해줘야함.
} for review in reviews ]
return JsonResponse({'message' : results}, status=200)
Author And Source
이 문제에 관하여(역참조와 리스트 컨프리헨션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dldbwls492/역참조와-리스트-컨프리헨션저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)