테이블의 데이터 를 조회할 때 특정 칼럼 값 만을 중복 없이 가져와야 하는 경우가 있다.
quick_tests = TpQuickTest.objects.all().order_by('user_id')
quick_tests_users = quick_tests.values_list('user_id', flat=True).distinct()
TpQuickTest 테이블의 user_id 칼럼의 값들을 중복 없이 가져오는 리스트를 만드는 코드이다.
* 참고
쿼리셋.value('칼럼 명'): 해당 칼럼의 값들을 딕셔너리로 조회
쿼리셋.value_list('칼럼 명'): 해당 칼럼의 값들을 튜플로 조회
쿼리셋.value_list('칼럼 명', flat=True): 해당 칼럼의 값들을 리스트로 조회
.distinct()는 order_by가 적용된 칼럼에 한해서만 적용됨을 유의하자
References
'Django' 카테고리의 다른 글
Django __str__ (0) | 2021.08.30 |
---|---|
Django 쿼리문 F() 사용하기 (0) | 2021.08.04 |
Django select_related / prefetch_related (0) | 2021.07.14 |
Django query/url parameter (0) | 2021.07.13 |
Django 세팅하기 (0) | 2021.07.11 |