Orm Values Ve Values_list

less than 1 minute read

Bazen Django Shell’de ORM çalışmak, denemek ,sonuçları görmek isteriz. Örneğin

Personnels.objects.all()

Yazdığımızı düşünelim. Bize bir obje dönecektir fakat içinde ne olduğunu direkt print ederek göremeyiz.

Bu tip durumlarda values ve values_list özelliklerini kullanabiliriz. Hemen örneğe geçelim;

values()

DICTIONARY DÖNER

Blog.objects.values('name', 'entry__headline')
<QuerySet [{'name': 'My blog', 'entry__headline': 'An entry'},
{'name': 'My blog', 'entry__headline': 'Another entry'}, ...]>

values_list() kullanımı;

TUPLE DÖNER

flat=True parametresi verilirse liste döner

Entry.objects.values_list('id', 'headline')
<QuerySet [(1, 'First entry'), ...]>
from django.db.models.functions import Lower

Entry.objects.values_list('id', Lower('headline'))
<QuerySet [(1, 'first entry'), ...]>

Entry.objects.values_list('id', flat=True).order_by('id')
<QuerySet [1, 2, 3, ...]>

Leave a comment