,它是排在打印带之后的,这里我只想要工程师sachin,rahul,altaf的名字。
[<Engineer: Sachin>, <Engineer: Rahul>, <Engineer: Altaf>]
def enginer(request):
engineer=Engineer.objects.all()
print engineer发布于 2014-04-14 11:00:45
仅检索名称的一种更为简洁的方法是通过将flat=True传递给values_list函数来使用平面列表:
Engineer.objects.values_list('name', flat=True)它还会回来:
[u'Sachin', u'Rahul', u'Altaf']只有在检索单个列时才能使用flat=True。
但是,如果您仍然想在路上使用engineer对象,最好使用列表理解来构造一个列表:
>>> engineers = Engineer.objects.all()
>>> names = [x.name for x in engineers]
>>> print names
[u'Sachin', u'Rahul', u'Altaf']
>>> for engineer in engineers:
... do_something()发布于 2014-04-14 10:48:52
你可以这样做:
engineer=Engineer.objects.values('name').all()发布于 2014-04-14 10:49:32
如果您想要的只是名称,可以使用values_list()
Engineer.objects.values_list('name')这将返回如下内容:
[(u'Name1', ), (u'Name2', )]与返回字典列表的values()不同,values_list()返回元组列表,据我所知,这是只检索标签的最简单、最简洁的方法。
https://stackoverflow.com/questions/23058066
复制相似问题