python - 无法将 Django 查询集转换为列表

标签 python django

<分区>

我创建了以下查询:

my_books = Book.objects.values('title') 
print(my_books)

输出是:

<QuerySet [{'title': 'It do go down'}, {'title': 'Second Post'}, {'title': 'Tesla - A New Generation'}]>

现在我想更改 QuerySet 以返回一个如下所示的列表:

['It do go down', 'Second Post', 'Tesla - A New Generation']

为了获得上述结果,我必须做什么?

PS:我尝试的是对相关问题的回答:print(list(my_books)) 显示以下内容:

[{'title': 'It do go down'}, {'title': 'Second Post'}, {'title': 'Tesla - A New Generation'}]

此外,我尝试了一次迭代,但根本不起作用。

最佳答案

如果你想要一个列表,你应该使用values_list

my_books = Book.objects.values_list('title', flat=True) 

flat=True 参数使其成为平面列表,而不是列表的列表。

关于python - 无法将 Django 查询集转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821010/

相关文章:

python - Django反向查找外键不起作用

python - sorl-缩略图语法错误

python - 我们可以用扭曲的 python 创建应用程序作为 django ......?

python - 如何访问FormView中的request对象

python - 调用嵌套 Serializer 的 .update() 方法

python - 无法将关键字 'i' 解析为字段。选择是 : id, joined_on, user, user_id

python - python 2.7 中的 MSSQL

python - 字符转换器

python - Django:类型为 'datetime' 的对象不是 JSON 可序列化的

Django REST Framework GET 检索具有 NAME LIKE %NAME% 的行