首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我只想要工程师表上的工程师姓名

我只想要工程师表上的工程师姓名
EN

Stack Overflow用户
提问于 2014-04-14 10:44:58
回答 3查看 50关注 0票数 0

,它是排在打印带之后的,这里我只想要工程师sachin,rahul,altaf的名字。

代码语言:javascript
复制
        [<Engineer: Sachin>, <Engineer: Rahul>, <Engineer: Altaf>]


def enginer(request):

    engineer=Engineer.objects.all()
    print engineer
EN

回答 3

Stack Overflow用户

发布于 2014-04-14 11:00:45

仅检索名称的一种更为简洁的方法是通过将flat=True传递给values_list函数来使用平面列表:

代码语言:javascript
复制
Engineer.objects.values_list('name', flat=True)

它还会回来:

代码语言:javascript
复制
[u'Sachin', u'Rahul', u'Altaf']

只有在检索单个列时才能使用flat=True

但是,如果您仍然想在路上使用engineer对象,最好使用列表理解来构造一个列表:

代码语言:javascript
复制
>>> 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()
票数 3
EN

Stack Overflow用户

发布于 2014-04-14 10:48:52

你可以这样做:

代码语言:javascript
复制
engineer=Engineer.objects.values('name').all()
票数 0
EN

Stack Overflow用户

发布于 2014-04-14 10:49:32

如果您想要的只是名称,可以使用values_list()

代码语言:javascript
复制
Engineer.objects.values_list('name')

这将返回如下内容:

代码语言:javascript
复制
[(u'Name1', ), (u'Name2', )]

与返回字典列表的values()不同,values_list()返回元组列表,据我所知,这是只检索标签的最简单、最简洁的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23058066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档