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, ...]