Python/Django
[Django] values() values_list() flat
혀나Lee
2016. 10. 26. 13:30
values()
object의 원하는 컬럼만 가져오기 위해서는 values를 사용할 수 있다. values를 사용하면 해당 컬럼의 key,value의 쌍의 리스트를 얻을 수 있다.
>>> Entry.objects.values()
[{'blog_id': 1, 'headline': 'First Entry', ...}, ...]
>>> Entry.objects.values('blog')
[{'blog': 1}, ...]
>>> Entry.objects.values('blog_id')
[{'blog_id': 1}, ...]
values_list()
values_list()를 사용하면 key,value 형태가 아닌 tuples 형태의 리스트로 가져올 수 있다.
>>> Entry.objects.values_list('id', 'headline')
[(1, 'First entry'), ...]
flat
flat을 사용하면 tuples 형태가 아닌 값의 리스트의 형태로 가져올 수 있다.
>>> Entry.objects.values_list('id').order_by('id')
[(1, ), (2, ), (3, ), ...]
>>> Entry.objects.values_list('id', flat=True).order_by('id')
[1, 2, 3, ...]