如何将 Django QuerySet 转换为字典列表?我还没有找到这个问题的答案,所以我想知道我是否缺少某种每个人都使用的通用辅助函数。
原文由 Mridang Agarwalla 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将 Django QuerySet 转换为字典列表?我还没有找到这个问题的答案,所以我想知道我是否缺少某种每个人都使用的通用辅助函数。
原文由 Mridang Agarwalla 发布,翻译遵循 CC BY-SA 4.0 许可协议
.values()
方法将返回类型为 ValuesQuerySet
的结果,这在大多数情况下通常是您需要的。
但是,如果您愿意,可以使用 Python 列表推导将 ValuesQuerySet
转换为本机 Python 列表,如下例所示。
result = Blog.objects.values() # return ValuesQuerySet object
list_result = [entry for entry in result] # converts ValuesQuerySet into Python list
return list_result
如果您正在编写单元测试并且需要断言函数的预期返回值与实际返回值匹配,我发现以上内容会有所帮助,在这种情况下 expected_result
和 actual_result
必须是相同类型(例如字典)。
actual_result = some_function()
expected_result = {
# dictionary content here ...
}
assert expected_result == actual_result
原文由 arimbun 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答895 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
使用
.values()
方法:注意:结果是一个
QuerySet
,它主要表现得像一个列表,但实际上不是list
的一个实例。使用list(Blog.objects.values(…))
如果你真的需要list
的实例。