반응형
장고 values_list 대 값
Django에서 다음 두 가지의 차이점은 무엇입니까?
Article.objects.values_list('comment_id', flat=True).distinct()
vs
Article.objects.values('comment_id').distinct()
내 목표는 각각의 고유 한 댓글 ID 목록을 가져 오는 것입니다 Article
. 문서를 읽었으며 실제로 두 가지 접근 방식을 모두 사용했습니다. 결과는 분명히 비슷해 보입니다.
이 values()
메서드는 사전이 포함 된 QuerySet을 반환합니다.
<QuerySet [{'comment_id': 1}, {'comment_id': 2}]>
이 values_list()
메서드는 튜플이 포함 된 QuerySet을 반환합니다.
<QuerySet [(1,), (2,)]>
당신이 사용하는 경우 values_list()
하나의 필드로, 당신이 사용할 수있는 flat=True
대신에 1 튜플의 단일 값의 검색어 세트를 반환 :
<QuerySet [1, 2]>
값 ()
dictionaries
iterable로 사용될 때 모델 인스턴스 가 아닌를 반환하는 QuerySet을 반환합니다 .
values_list ()
list of tuples
iterable로 사용될 때 모델 인스턴스 가 아닌를 반환하는 QuerySet을 반환합니다 .
뚜렷한()
구별은 eliminate the duplicate
요소 에 사용됩니다 .
예:
Article.objects.values_list('id', flat=True) # flat=True will remove the tuples and return the list
[1, 2, 3, 4, 5, 6]
Article.objects.values('id')
[{'id':1}, {'id':2}, {'id':3}, {'id':4}, {'id':5}, {'id':6}]
다음을 사용하여 다른 값을 얻을 수 있습니다.
set(Article.objects.values_list('comment_id', flat=True))
참고 URL : https://stackoverflow.com/questions/37205793/django-values-list-vs-values
반응형
'developer tip' 카테고리의 다른 글
PHP CURL CURLOPT_SSL_VERIFYPEER 무시 됨 (0) | 2020.08.16 |
---|---|
공유 호스팅에서 Node.js 애플리케이션을 호스팅하는 방법 (0) | 2020.08.16 |
SVN- 한 번에 여러 파일을 커밋하는 방법 (0) | 2020.08.16 |
파이썬에서 사전에 문자열 (0) | 2020.08.16 |
Kotlin의 상수 —이를 만드는 데 권장되는 방법은 무엇입니까? (0) | 2020.08.16 |