Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Django中的queryset筛选数据,但不返回整个queryset_Django_Django Models_Django Views_Django Rest Framework - Fatal编程技术网

从Django中的queryset筛选数据,但不返回整个queryset

从Django中的queryset筛选数据,但不返回整个queryset,django,django-models,django-views,django-rest-framework,Django,Django Models,Django Views,Django Rest Framework,我正在尝试从Djano中的给定对象获取属性。我得到了正确的值,但我很好奇是否有更好的方法来获取这些数据 我使用以下命令获取name属性: owner_name = Owner.objects.filter(id=id).values('name') 它正确地返回我要查找的name属性,但其形式如下: <QuerySet [{'name': u'John Doe'}]> 我如何让它只返回“John Doe”而不是 编辑:我发现我可以通过以下方式获得所需信息: owner\u n

我正在尝试从Djano中的给定对象获取属性。我得到了正确的值,但我很好奇是否有更好的方法来获取这些数据

我使用以下命令获取name属性:

owner_name = Owner.objects.filter(id=id).values('name')
它正确地返回我要查找的
name
属性,但其形式如下:

<QuerySet [{'name': u'John Doe'}]>

我如何让它只返回“John Doe”而不是

编辑:我发现我可以通过以下方式获得所需信息:
owner\u name[0]。获取('name')


它将返回
johndoe
。是否还有更好的方法仅获取1个属性?

您需要一个带有
flat=True
参数的
values\u列表
查询。从:

通常需要获取某个模型实例的特定字段值。要实现这一点,请使用value_list()后跟get()调用:

Entry.objects.values\u list('headline',flat=True).get(pk=1)

或者在您的情况下:

Owner.objects.values_list('name', flat=True).get(id=id)

请注意,
get
如果没有一个匹配结果,将引发异常。如果这是一种可能性,比如说因为您在筛选id以外的内容,或者因为可能没有匹配的对象,您可以捕获异常,或者您可以处理返回的名称列表并检查其长度。

谢谢。这正是我读文件时错过的。我可以处理这个异常。