1. 程式人生 > >django獲取某一個欄位的列表,values/values_list/flat

django獲取某一個欄位的列表,values/values_list/flat

class Building(models.Model):
    corporation = models.ForeignKey('company.Corporation', verbose_name=u'學校', related_name='buildings')
    number = models.CharField(u'樓棟編號', max_length=10, unique=True, db_index=True)
    create_time = models.DateTimeField(u'建立時間', auto_now_add=True)

獲取Building的number欄位列表

In [1]: from apps.dormitory.models import Building

In [2]: buildings = Building.objects.values('number')

In [3]: buildings
Out[3]: [{'number': u'1'}, {'number': u'2'}, {'number': u'3'}, {'number': u'4'}, {'number': u'5'}]

In [4]: buildings_ = Building.objects.values_list('number')

In [5]: buildings_
Out[5]: [(u'1',), (u'2',), (u'3',), (u'4',), (u'5',)]

In [6]: buildings_list = Building.objects.values_list('number', flat=True)

In [7]: buildings_list
Out[7]: [u'1', u'2', u'3', u'4', u'5']

從以上程式碼可以看出:

values方法可以獲取number欄位的字典列表。

values_list可以獲取number的元組列表。

values_list方法加個引數flat=True可以獲取number的值列表。

轉自:http://www.cnblogs.com/Raymon-Geng/p/5775730.html