如何从 Django 数据库中检索到的查询集数据中删除名称"Queryset"?



我们都知道,如果我们需要从数据库中检索数据,数据将作为一个查询集返回,但问题是我如何从数据库中检索数据,这是它的名称是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()))

最新更新