我需要在Django中获取一个Queryset,并以字典列表的形式将其复制为变量。我认为这就是Querysets,我想我错了。
listA = User_Item.objects.filter(user=User.objects.get(id=1))
当我尝试使用它执行简单的算法时,给我一个错误。 我不想与数据库交互 - 我需要将Queryset复制为字典列表,因此我可以显示列表的修改版本而无需实际更改数据。我该怎么做?
(尝试获取此连接表中的条目列表,该列表应该是包含某些键值的词典的词典列表)
答案 0 :(得分:1)
要从查询集创建列表,只需将其传递给列表函数list_a = list(queryset)
。这将返回一个包含查询集中对象的列表。如果您希望将其作为dict,可以在将查询集传递给列表之前调用values()
方法:list(queryset.values())
答案 1 :(得分:-1)
values()
和values_list()
都会返回queryset object
,这对大多数情况都应该没问题。但是如果你想要一个列表,那么就像之前的答案所述,你必须使用函数list(queryset)
对列表的查询集进行类型转换将删除仅使用查询集获得的一些性能。