[ TIL 06/09 ] 장고 object 속 데이터 꺼내기, list안 dict 값 추출

JoonQpa·2022년 6월 9일
0

TIL

목록 보기
14/27
post-thumbnail

📌 object

장고 object에서 원하는 데이터를 파이썬 문법으로 빼내는 방법

my_preference = ArticleComment.objects.filter(author_id=request.user.id, rating=5) # 사용자가 5점을 준 코멘트 가져오기

print(my_preference)

# <QuerySet [<ArticleComment: ArticleComment object (47)>]>

위와 같이 장고 objectQuerySet이라는 형태를 가지고 있기 때문에,

my_preference를 리스트화를 시켜 파이썬 문법으로 편하게 데이터를 뽑을 수 있습니다.

# 벨류들 뽑아주기
my_preference.values()

print(my_preference.values())
# <QuerySet [{'id': 47, 'article_id': 6, 'author_id': 4, 'comment': 'ㅇㅇ', 'rating': 5, 'created_at': datetime.datetime(2022, 6, 9, 9, 57, 0, 178463, tzinfo=datetime.timezone.utc), 'updated_at': datetime.datetime(2022, 6, 9, 9, 57, 0, 178463, tzinfo=datetime.timezone.utc)}]>

# QuerySet 형태를 list형태로 바꿔주기
list(my_preference.values())

print(list(my_preference.values())
# [{'id': 47, 'article_id': 6, 'author_id': 4, 'comment': 'ㅇㅇ', 'rating': 5, 'created_at': datetime.datetime(2022, 6, 9, 9, 57, 0, 178463, tzinfo=datetime.timezone.utc), 'updated_at': datetime.datetime(2022, 6, 9, 9, 57, 0, 178463, tzinfo=datetime.timezone.utc)}]

다음과 같이 list()로 QuerySet에서 list의 형태로 바꿔줍니다.


📌 dict in list

num = list(my_preference.values()) # article_id를 빼오기 위해 리스트화
for i in num:
	drama_num = i['article_id']
print(drama_num)

# 6

마지막으로
for문을 이용해서 리스트안의 딕셔너리 값을 추출할 수 있습니다.


profile
Intuition factory: from noob to pro

2개의 댓글

comment-user-thumbnail
2022년 6월 9일

오늘도 그림실력 장난 없으셨다 .......👍

1개의 답글