我们都知道,如果我们需要从数据库中检索数据,数据将作为一个查询集返回,但问题是我如何从数据库中检索数据,这是它的名称是queryset,但从它删除该名称。
也许我解释得不够清楚,所以你可以看下一个例子来理解我的意思:
AnyObjects.objects.all().values()
这一行将返回数据如下:
<QuerySet [{'key': 'value'}]
现在你可以看到检索数据左侧的第一个名字是:"QuerySet"因此,我需要删除该名称,使数据如下:
[{'key': 'value'}]
如果你想知道为什么,答案的缩写是我想使用Dataframe by pandas,所以要把数据放在Dataframe方法中,我应该使用那个布局。
请帮忙!!
您不必将其从Queryset更改为其他任何内容;熊猫。DataFrame可以接受任何Iterable作为数据。所以
df = pandas.DataFrame(djangoapp.models.Model.objects.all().values())
给出您期望的DataFrame。(尽管您可能需要仔细检查df.dtypes
。如果您的数据中存在None
,则该列可能最终为object
类型。
您可以使用list(…)
将其转换为字典列表:
list(AnyObjects.objects.values())
你需要用json
包序列化它来获得一个JSON blob,因为带单引号的字符串不是有效的JSON,为了使它成为一个JSON blob,你可以使用:
import json
json.dumps(list(AnyObjects.object.values()))